【问题标题】:Escaping in wget bash command在 wget bash 命令中转义
【发布时间】:2013-08-08 07:46:55
【问题描述】:

wget -q -T 60 --retry-connrefused -t 5 --waitretry=60 --user=ftp2.company.com|company2013 --password=!company2013 -N -P data/parser/company/ ftp://ftp2.company.com/Production/somedata.zip

我在使用此命令时遇到问题,因为密码包含感叹号。我尝试用\转义,尝试单引号,它要么给出输出:

wget: missing URL

bash: !company2013: event not found

这真是令人沮丧......

【问题讨论】:

    标签: bash ubuntu escaping wget


    【解决方案1】:

    也许这部分需要被引用以防止它被视为另一个命令的管道。

    --user='ftp2.company.com|company2013'
    

    这也是为了防止历史扩展!:

    --password='!company2013'
    

    决赛:

    wget -q -T 60 --retry-connrefused -t 5 --waitretry=60 --user='ftp2.company.com|company2013' --password='!company2013' -N -P data/parser/company/ ftp://ftp2.company.com/Production/somedata.zip
    

    如果以后有空格,引用其他部分也是一个好主意:

    wget -q -T 60 --retry-connrefused -t 5 --waitretry=60 --user='ftp2.company.com|company2013' --password='!company2013' -N -P "data/parser/company/" "ftp://ftp2.company.com/Production/somedata.zip"
    

    【讨论】:

    • 哇。太傻了,我很惭愧。感谢您的快速回答!我用密码部分尝试了所有方法,从没想过用户名。
    猜你喜欢
    • 2020-10-25
    • 2013-05-29
    • 2020-04-30
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2014-09-22
    相关资源
    最近更新 更多