Linux
如何從字元串參數創建沒有 HTTP 或 HTTPS 的子目錄
我有 ksh 腳本,它正在執行以下命令:
mkdir -p down/$JENKINS_URL
問題是一些 $JENKINS_URL(字元串)包括 HTTP:// 和一些 HTTPS://,這導致在 down 文件夾下創建兩個子目錄,然後為每個子目錄創建子目錄。如何避免它並在下文件夾下直接創建沒有 HTTP 或 HTTPS 的文件夾名稱?
參數替換可用於從
JENKINS_URL
. 從ksh 手冊頁:$ {name#pattern}, $ {名稱##模式}
如果 pattern 匹配參數 name 值的開頭,則從替換結果中刪除匹配的文本。單個 # 導致最短匹配,兩個 # 導致最長匹配。
舉個例子:
JENKINS_URL="http://abc" mkdir -p "down/${JENKINS_URL#*://}" JENKINS_URL="https://def" echo mkdir -p "down/${JENKINS_URL#*://}"
上面的腳本將去除任何協議前綴。執行腳本的結果是:
mkdir -p down/abc mkdir -p down/def