Linux shell脚本中的FTP和用户输入

Linux shell脚本中的FTP和用户输入,linux,ftp,cd,Linux,Ftp,Cd,我需要在ftp期间允许用户输入,以便用户在此处定义由$表示的最终目录。我的ftp在一个脚本中,然后由另一个脚本运行。我曾尝试将argv传递给scritp,但它表示参数数量非法 我的ftp很简单: ftp -in <my.ftp #which runs the script my.ftp which looks like this bellow: open server user user passwd1 cd /u/place/userarea/$HERE mge

我需要在ftp期间允许用户输入,以便用户在此处定义由$表示的最终目录。我的ftp在一个脚本中,然后由另一个脚本运行。我曾尝试将argv传递给scritp,但它表示参数数量非法

我的ftp很简单:

ftp -in <my.ftp      #which runs the script my.ftp which looks like this bellow:

open server 
user user passwd1      
cd /u/place/userarea/$HERE
mget FILE.FLE           
quit  
当我运行ftp脚本时,我希望它向用户询问一个数字,然后脚本cd进入该目录

谢谢

假设my.ftp是一个静态文件,您不能期望您的ftp客户端解析其中的shell变量。切换到具有该功能的ftp客户端,或使用here文档:

read -p "Where? " HERE
ftp -in <<____EOF
    open server 
    user user passwd1      
    cd /u/place/userarea/$HERE
    mget FILE.FLE           
    quit  
____EOF

谢谢@tripleee-我现在明白了为什么我的方式行不通了,谢谢你的投入。我取出了“中间”脚本,它只是运行我的.ftp文件。现在有了你们的修正案,它是正确的。谢谢