此命令不起作用:
ssh $HOST "ls -l | awk '{print $1}'"`
Run Code Online (Sandbox Code Playgroud)
以上忽略命令awk。我想这可能是因为双引号?
另外,如何在 awk 中添加另一组双引号?
IE:
ssh $HOST "awk '{print $1 "*"}' /some_file"
Run Code Online (Sandbox Code Playgroud)
我试过转义引号,我什至试过这个:
ssh $HOST "awk '{print $1 "\""*"\""}' /some_file"
Run Code Online (Sandbox Code Playgroud)
没有成功。
下面的命令根据失败与否正确打印“0”或“1”,因为我把 $? 在“su”命令中。
sudo su -m $USER -c "./shutdown.sh &> /dev/null; echo \$?"
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做:
sudo su -m $USER -c "$BASE/bin/shutdown.sh &> /dev/null"; echo $?
Run Code Online (Sandbox Code Playgroud)
它将始终打印“0”,因为即使命令部分失败,实际的“su”也将始终成功。
知道如何检索子外壳的退出代码吗?