我有一个要求,我将 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/