我需要將兩個數字添加到位置參數$ 1,並在它們之間有一個破折號,即「15-20」。它是從15到20的間隔,它必須是一個位置參數。我這樣做:如何從一個位置參數創建兩個變量?
#!/bin/sh
a=$(echo "$1" | sed 's/-/ /g')
echo $a
它打印: 所以我得把這些數字作爲一個單獨的變量,我需要這在將來的間隔。而不是= 15 20,它應該是a = 15和b = 20。我怎麼能做到這一點?
我需要將兩個數字添加到位置參數$ 1,並在它們之間有一個破折號,即「15-20」。它是從15到20的間隔,它必須是一個位置參數。我這樣做:如何從一個位置參數創建兩個變量?
#!/bin/sh
a=$(echo "$1" | sed 's/-/ /g')
echo $a
它打印: 所以我得把這些數字作爲一個單獨的變量,我需要這在將來的間隔。而不是= 15 20,它應該是a = 15和b = 20。我怎麼能做到這一點?
隨着/bin/sh
,使用read
和這裏的文件。
IFS=- read a b <<EOF
$1
EOF
或者,使用參數擴展兩次刪除前綴/後綴。
a=${1%-*}
b=${1#*-}
爲什麼它必須是一個參數?您可以控制腳本,並且可以根據需要重新構造參數。將腳本的第一行設置爲$ {@ // - /}',並將包含連字符的所有參數分成兩個(或更多)參數。試驗一下吧! –