我正在编写一个 bash 脚本来将文件从远程服务器复制到本地计算机。我需要检查该文件是否可用,以便在该文件不存在时可以采取替代操作。
我知道如何测试本地文件是否存在,但是,使用 scp 会使事情变得有点复杂。常识告诉我,一种方法是无论如何尝试 scp 文件,并检查 scp 命令的返回代码。这是正确的做法吗?
如果是,如何测试 scp 调用的返回代码?
使用 ssh + cmd 行中嵌入的一些 shell 代码;当您需要在文件传输失败之前做出决定时,请使用此方法;
ssh remote-host 'sh -c "if [ -f ~/myfile ] ; then gzip -c ~/myfile ; fi" ' | gzip -dc > /tmp/pkparse.py
如果你想传输目录,你可能需要先“tar”它
如果你想使用 scp 你可以检查返回码,如下所示:
if scp remote-host:~/myfile ./ >&/dev/null ; then echo "transfer OK" ; else echo "transfer failed" ; fi
这实际上取决于知道文件是否存在对您来说很重要;在传输开始之前(使用 ssh+sh)或完成之后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)