bash - 密码中的星号字符 - 登录失败

标签 bash shell scripting sftp

我有一个要求,我将 sftp 到不同的服务器,我想通过 shell 脚本来完成

但是密码有星号(*)字符,所以无法登录。 脚本:

host=xxxxx
user=celcom_mnp
passwd='CjX3E$4Q&*B6L'
cd /home/mquser/unicaftp/CMS/batch/OBD/MNP/
test=`find . -maxdepth 1 -type f -name "*.csv" -mmin +1 | awk -F "/" '{print $NF}'`
lftp<<EOF
open sftp://$host
user  $user $passwd
cd /MNP_Autoin
lcd  /home/mquser/unicaftp/CMS/batch/OBD/MNP
mput `echo $test`
EOF
OUT=$?
if [ $OUT -eq 0 ];then
   echo "$test Succesfully transferred" >> /home/mquser/CIFM_STORE/OBD/obdmnplog.txt
else
   echo "Issue with sftp" >> /home/mquser/CIFM_STORE/CEP/PUSH/sftplog.txt
fi
mv $test /home/mquser/CIFM_STORE/OBD/TEMPMNP/

错误信息:

Unknown command `*B6L'.
cd: Login failed: Login incorrect

请帮帮我。提前致谢

最佳答案

问题是 &(与号)。替换

user  $user $passwd

user  $user "$passwd"

关于bash - 密码中的星号字符 - 登录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170954/

相关文章:

linux - 上传文件到远程服务器

bash - Macports:在 "Continue Y/N"提示上假设是?

linux - Bash脚本Unix。模式匹配

Python - 如何让 tqdm 在 shell 中打印一行进度条?

python - 使用 STDOUT 作为 openvpn auth-user-pass 的输入

bash - 检查脚本是否已被重定向

shell - AWK 打印最后一行的第二列

macos - 我如何从 bash 脚本中找出当前的 osx-terminal 主题

linux - 如何在 bash 中通过 ssh 将命令输出保存到变量中

scripting - 如何将 linux shell 脚本编译为独立的可执行文件 *binary*(即不仅仅是例如 chmod 755)?