![](/img/trans.png)
[英]command substitution in shell script with shell variables within the substitution
[英]Parameter substitution within shell script when executing another command
我寫了一個腳本,可以卷曲和下載數據庫
DB_URL="$(curl --user $1:$2 -s https://myurl.com/ | grep -o \\http\\:[a-zA-Z.0-9\\:/-]* | grep DBNAME$ | tail -1)"
echo -e "\\033[33;31m The database is here :" echo $DB_URL
但是,$ 1和$ 2並沒有被我傳遞的兩個參數所替代。 我該怎么做? 我嘗試了多種替代方法,但仍然沒有成功。
直接執行,將$ 1和$ 2替換為正確的用戶名和密碼即可正常工作
為了回答我自己的問題,這可行:
DB_URL=$(curl --user "$1":"$2" -s https://myurl.com/ | grep -o \\http\\:[a-zA-Z.0-9\\:/-]* | grep DBNAME$ | tail -1)
必須將變量放在引號中。
請參閱下面的glenn評論。 引號防止解釋密碼中的特殊字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.