shell 脚本中未找到命令

shell 脚本中未找到命令

我需要在脚本中scp不使用命令的情况下执行命令。expect

如何使用带密码的scp?我尝试过以下代码。

HOST=lnx1
USERNAME=user
PASSWORD=pwd
PATH=/sample/data/
FILE=$1
scp $FILE $USERNAME:'$PASSWORD'@$HOST:$PATH       
sshpass -p '$PASSWORD' scp $FILE $USERNAME@:$PATH

错误信息:

scp: command not found
sshpass: command not found

如何实现这个东西呢?

答案1

您已将PATH变量设置为/sample/data。变量之前的内容PATH已被覆盖。因此,您的脚本会查找/sample/datascpsshpass但无法在那里找到它们,并给出您所看到的错误消息。

尝试将PATH变量名称更改为不同的名称,例如:

REMOTE_PATH=/sample/data/

scp $FILE $USERNAME:'$PASSWORD'@$HOST:$REMOTE_PATH

sshpass -p '$PASSWORD' scp $FILE $USERNAME@:$REMOTE_PATH

如果这不起作用,请尝试将完整路径名放入scp脚本sshpass中。

相关内容