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/

相关文章:

带有变量和字符串的 PowerShell Get-ChildItem

python - Windows 上 Python (v3.0) 中的环境变量

linux - 为每个目录创建一个 tar 文件

linux - Bash 脚本从 Tripwire 的 pol 文件中删除文本以消除误报

linux - 使用 shell 脚本进行 CSV 操作

shell - 使用 shell 脚本将值存储在数组中

bash - sudo echo "something">>/etc/privilegedFile 不起作用

linux - 编写多个 sed 命令的更简洁的方法?

mysql - 在 bash 脚本中自动安装 mysql-server 后无法连接到 mysql

android - 通过 adb 禁用和启用 android 触摸屏