0

現在のセッションを終了する必要があり、次のコードを使用しています。

read -p "Do you want to start a new session? [Y/N] " usr_session
if [ "$usr_session" == "y" ] || [ "$usr_session" == "Y" ]; then
   echo -e "`date`\t\t Exiting...\n You will need to login back...\n" >> $LOG_FILE
   echo -e "Exiting...\n You will need to login back...\n"
   sleep 5
   curr_usr=`whoami`
   pkill -9 -u $curr_usr
elif [ "$usr_session" == "n" ] || [ "usr_session" == "N" ]; then
    echo -e "You are still in the same session.\n"
else
    echo "Invalid input"
fi

同じことをより優雅に実行するためのより良いアプローチはありますか? 現在のユーザープロセスを強制終了するのは安全ではないかもしれません。どんな提案でも大歓迎です。

前もって感謝します。

4

2 に答える 2

0

たとえば、ラッパー スクリプトを作成してからソースを作成できます。

ファイル: wrap1.sh

./myscript.sh 
if [ $? != 0 ];then
   exit
fi

kill を exit 1 に置き換え、メイン セッションから:

source wrap1.sh
于 2013-09-30T22:40:09.147 に答える