【问题标题】:Can not enter password in Shell Script无法在 Shell 脚本中输入密码
【发布时间】:2026-01-25 17:20:07
【问题描述】:

我无法输入密码。 我的 shell 脚本在这里。

#!/bin/bash

expect -c "
set timeout 2
spawn ftp ${HOST}
expect \"Name\(${HOST}:root\):\"
send ${USER}\n
expect \"Password:\"
send ${PASS}\n
interact
"

我可以输入用户名,但密码无效....

喜欢这个回归。

spawn ftp ******
Connected to ****** (******).
220 (vsFTPd 2.2.2)
Name (******:root): ${USER}
331 Please specify the password.
Password:[root@........ bin]#

我想我发送密码...你能帮帮我吗?

谢谢。

解决我的问题

我觉得这对我来说很容易使用。

it is easy for me to use this.
#!/bin/sh

SERVER=$1
USER=$2
PASS=$3
FILE=$4

ftp -n <<END
open $SERVER
user $USER $PASS
cd /tmp
binary
prompt
mput $FILE
END

【问题讨论】:

    标签: linux shell ftp


    【解决方案1】:

    您必须提示密码并将其发送到变量


    echo -n "输入密码:" 读通过

    【讨论】: