我的剧本
下面有一行script_list=`ssh@hostip ls -A /directory 2>/dev/null`
有没有办法在if条件下使用它,这样我就可以分配script_list变量或者在else条件下处理失败场景
提前致谢
答案 0 :(得分:1)
您只需检查下一行中的自动变量$?
:
script_list=$( ssh ... )
rc=$?
if [[ $rc -ne 0 ]]; then
...something is wrong...
fi
这是有效的,因为ssh
的退出代码是远程运行的命令的退出代码,如果ssh
本身可以成功执行。但通常情况下,您并不关心命令链的哪个部分失败,知道任何部分(本地ssh
或远程命令失败)都足够了。
答案 1 :(得分:0)
没问题,就这么做吧。赋值完全可以作为一个命令(通过命令我的意思是if
之后的事物。)
if asdf=$(echo test1; exit 1); then
echo "SUCCESS1: $asdf"
fi
if asdf=$(echo test0; exit 0); then
echo "SUCCESS0: $asdf"
fi