こんにちはStackExchangeコミュニティです。
この記事は次のとおりです。su オプション - 他のユーザーとしてコマンドを実行する(しかし、以下にこの特定の質問を求めるプロフィールを作成したため、まだコメントできません。)
次の質問をしたいと思います。 (Googleで回答が見つからないためです。)
次のコマンドがあります。
sudo su - usertwo -c 'mv /home/usertwo/file1.txt /home/usertwo/file2.txt'
上記のコマンドはによって実行されますuserone
。このコマンドが of
にも表示されます。.bash_history
usertwo
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
'