You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

sshpass同命令行的命令无法识别问题求助

sshpass同命令行的命令无法识别问题求助

我在正常运行脚本的时候碰到了个奇怪的状况:所有和sshpass写在同一行的命令突然都不被系统识别了。给大家看看我脚本里出问题的两段命令:

第一段是结合rsync使用的命令:

sshpass -p "$password" rsync -a -e "ssh -o StrictHostKeyChecking=no -p $port" "$username@$hostname:${src_dir}${dir}/" "${dest_dir}${dir}/"

第二段是通过ssh执行远程目录查询的命令:

dirs=$(sshpass -p "$password" ssh -o StrictHostKeyChecking=no -p "$port" "$username@$hostname" "ls -lt --time-style=long-iso '$src_dir' | grep '^d' | head -n 3 | awk '{print $8}'")

这些命令里用到的lsgrepheadawk还有rsync,在脚本其他单独运行的部分都是完全正常的,没有任何问题。而且我已经确认sshpass是安装好的:

atmos_username@atmosserver:~$ which sshpass
/usr/bin/sshpass

但运行上面这两段命令时,却弹出了一堆报错:

bash: grep: command not found
bash: head: command not found
bash: awk: command not found
bash: ls: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(231) [Receiver=3.2.7]
Copying ...

有没有大佬能帮忙分析下这到底是哪里出问题了呀?

备注:内容来源于stack exchange,提问作者Dimitris Tsiaousidis

火山引擎 最新活动