记录ssh shell的输出并保留退出状态

埃贾贾里(Ejjagiri Venkatesh)

我有一些脚本要server-2通过ssh from在远程server(上执行server-1,我必须将该输出写入名为file.logon的日志文件server-1

我正在尝试: sc.sh

echo 'testing'
cp $HOME/dir1/file1 $HOME/dir2

现在,执行sc.sh通过ssh:

sshpass -p 'psswd' ssh username@server-2 "bash -s" < sc.sh | tee -a file.log
if [ $? -eq 0]; then
  echo "successfully executed the script file"
  .
  .
  .
else
  echo "failed copying due to incorrect path"
fi

现在由于tee -a file.log命令的缘故,即使我在脚本文件中的命令失败,它也将始终返回0。我该如何写入日志文件,并应ssh根据ssh命令退出代码检查命令后的if条件,条件应该起作用

埃贾贾里(Ejjagiri Venkatesh)

检查${PIPESTATUS[0]}对我有用...

if [ ${PIPESTATUS[0]} -eq 0 ]; then
  echo "successfull"
fi

echo ${PIPESTATUS[*]} 打印所有管道命令的退出代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Shell脚本在失败时不记录Java退出状态

来自分类Dev

Shell脚本在失败时不记录Java退出状态

来自分类Dev

使用Net :: SSH登录到Shell并获取有状态输出

来自分类Dev

bash shell-ssh远程脚本捕获输出和退出代码?

来自分类Dev

bash shell-ssh远程脚本捕获输出和退出代码?

来自分类Dev

ssh 的记录

来自分类Dev

ssh和shell通过ssh:如何退出?

来自分类Dev

使用“保留”代码获取shell脚本的退出状态

来自分类Dev

使用“保留”代码获取shell脚本的退出状态

来自分类Dev

通过ssh执行的管道命令的退出状态

来自分类Dev

如何根据shell中的命令退出状态更改输出?

来自分类Dev

退出状态,无输出

来自分类Dev

删除状态相同的重复记录,仅保留最新记录

来自分类Dev

当shell退出时杀死后台的SSH

来自分类Dev

当shell退出时杀死后台的SSH

来自分类Dev

如何在Power Shell脚本中记录使用regsvr32命令注册的每个dll文件的输出状态

来自分类Dev

SSH隧道日志记录?

来自分类Dev

SSH无法正确记录

来自分类Dev

SSH隧道日志记录?

来自分类Dev

记录SSH命令?

来自分类Dev

记录shell命令的所有输出

来自分类Dev

记录shell命令的所有输出

来自分类Dev

在bash中检查ssh远程命令的退出状态

来自分类Dev

如何在BigQuery中保留最新记录的状态?

来自分类Dev

gwt-历史记录-如何“保留” UI状态

来自分类Dev

在ssh shell上输出cron吗?

来自分类Dev

记录退出代码?( C )

来自分类Dev

输出未记录到 Windows shell 中的文件

来自分类Dev

Bash不会记住历史记录中退出状态为非0的程序