将参数作为字符串变量传递给bash脚本命令

时间:2019-12-02 15:40:52

标签: bash shell

我动态创建./chrome.exe调用的参数,并通过变量传递它们。 看起来像这样:

ua="Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"
chromeCommand="./chrome.exe"
chromeArgs="--user-agent=$ua \
    --no-sandbox \
    --user-data-dir=/tmp/chrome \
    --no-first-run"
url="google.com"
./chrome $chromeArgs $url

但是,当我运行此脚本时,它将打开许多Chrome浏览器标签,并且用户代理为Mozilla/5.0。我不明白,如何正确地转义空格以使其正常工作,因为此示例可以正常工作:

./chrome.exe --user-agent="Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" --no-sandbox --user-data-dir=/tmp/chrome --no-first-run

当我尝试将用户代理字符串放入变量中时,它将再次打开许多选项卡。

ua='Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
./chrome.exe --user-agent=$ua --no-sandbox --user-data-dir=/tmp/chrome --no-first-run

谢谢。

0 个答案:

没有答案