我現在需要重組一段網址
變數可能有 x y z
組出來要像這樣
http://test.com.tw/x/x.ear
http://test.com.tw/y/y.war
http://test.com.tw/z/z.war
只有變數x的結尾會不一樣
變數x的值 結尾都會有apservice的參數
例如1apservice , 2apservice , 3apservice 這樣
其他不是apservice結尾的 拼出來的網址都要是.war
test.sh 的內容如下
str=$1
len=${#str}
if [ $len -ge 9 ]
then
if [ "${str:$len-9:9}" == "apservice" ]
then
echo "http://test.com.tw/$1/$1.ear"
else
echo "http://test.com.tw/$1/$1.war"
fi
else
echo "http://test.com.tw/$1/$1.war"
fi
執行結果
mymacroot$ ./test.sh 1apservice
http://test.com.tw/1apservice/1apservice.ear
mymacroot$ ./test.sh 2apservice
http://test.com.tw/2apservice/2apservice.ear
mymacroot$ ./test.sh 3apservice
http://test.com.tw/3apservice/3apservice.ear
mymacroot$ ./test.sh TGIFriday
http://test.com.tw/TGIFriday/TGIFriday.war
mymacroot$
選我最佳解答
謝謝海綿大大
但如果那些隨機變數 是產再一個test.conf的檔案裡
類似圖片這樣
程式需要自動讀取此test.conf產出網址 那程式要怎麼修改比較好
初學linux 語法不太懂
filename="test.conf"
while read line; do
str="$line"
len=${#str}
if [ $len -ge 9 ]
then
if [ "${str:$len-9:9}" == "apservice" ]
then
echo "http://test.com.tw/$str/$str.ear"
else
echo "http://test.com.tw/$str/$str.war"
fi
else
echo "http://test.com.tw/$str/$str.war"
fi
done < $filename