suオプション(他のユーザーとしてコマンドを実行)

suオプション(他のユーザーとしてコマンドを実行)

こんにちはStackExchangeコミュニティです。
この記事は次のとおりです。su オプション - 他のユーザーとしてコマンドを実行する(しかし、以下にこの特定の質問を求めるプロフィールを作成したため、まだコメントできません。)

次の質問をしたいと思います。 (Googleで回答が見つからないためです。)

次のコマンドがあります。
sudo su - usertwo -c 'mv /home/usertwo/file1.txt /home/usertwo/file2.txt'

上記のコマンドはによって実行されますuserone。このコマンドが of
にも表示されます。.bash_historyusertwo

useroneの.bash_historyエントリをusertwoに「転送」する方法はありますか?

よろしくお願いします!

ベストアンサー1

より良いコマンドは

sudo -Hu usertwo mv file1.txt file2.txt

ただし、この場合とすべての場合、コマンドはインタラクティブに実行されるため、そのusertwoユーザーアカウントには移動しません.bash_history

ただし、履歴追跡を有効にして(ひどい)回避策を作成できます。

sudo -Hu usertwo bash -c '
    set -o history; HISTFILE="$HOME/.bash_history"; history -n
    mv file1.txt file2.txt
'

おすすめ記事