私の.bash_logoutファイルを使用してスクリプトでbashをどのように実行できますか?

私の.bash_logoutファイルを使用してスクリプトでbashをどのように実行できますか?

私はサブシェルでbashを実行したいと思い、ユーザーがサブシェルから出るときに他のコマンド(ログをファイルに保存するなど)を実行したいと思います。

このような:

実行.sh:

#!/bin/bash 

function save_information_to_file()
{
    echo "${date} ${time} new bash subshell ended !"
}
# Some commands etc.

env PS1='SubShell:' bash --rcfile /home/username/.bashrc

if [ user_logout_from_subshell ]
then 
     save_information_to_file()
fi;

実装する:

user: ./run.sh
2016-08-12 14:55:13 new bash subshell started...
SubShell: echo "wow..."
wow... 
SubShell: pwd
/home/username
SubShell: cat user.log
2016-08-11 17:54:32 bash started
2016-08-11 17:56:14 bash ended
2016-08-11 18:23:18 bash started
2016-08-11 18:39:30 bash ended
SubShell: exit
exit
2016-08-12 14:59:41 new bash subshell ended !
user:

シャットダウン時に実行する必要があるファイルパスでbashを実行する方法は?

ベストアンサー1

特別なスキルは必要ありません。これで十分です。

#!/bin/bash 

env PS1='SubShell:' bash --rcfile /home/username/.bashrc

echo Subshell exited. Now doing something...

サブシェルはメイン端末で実行されます。デフォルトのスクリプトは、追加のコマンドなしで完了するまで待ちます。

(シェルでこれを設定する方法がわかりませんPS1。サブシェルBashが起動すると上書きされるようです。)

おすすめ記事