0

スクリプトに以下の行があります

script_list=`ssh@hostip ls -A /directory 2>/dev/null` 

if 条件でそれを使用して、script_list 変数を割り当てたり、else 条件で失敗シナリオを処理したりできるようにする方法はありますか

前もって感謝します

4

2 に答える 2

1

$?次の行で自動変数を確認するだけです。

script_list=$( ssh ... )
rc=$?
if [[ $rc -ne 0 ]]; then
    ...something is wrong...
fi

の終了コードは、それ自体が正常に実行されたssh場合にリモートで実行されたコマンドの終了コードであるため、これは機能します。しかし、通常、コマンド チェーンのどの部分が失敗したかは気にしません。どの部分 (ローカルまたはリモート コマンドが失敗したか)sshがわかれば十分です。ssh

于 2013-03-28T19:28:47.933 に答える
0

問題ありません。代入は、コマンドとしてまったく問題ありません (コマンドとは、 の後に来るものを意味しますif)。

if asdf=$(echo test1; exit 1); then
    echo "SUCCESS1: $asdf"
fi
if asdf=$(echo test0; exit 0); then
    echo "SUCCESS0: $asdf"
fi
于 2013-03-28T19:32:22.083 に答える