簡體   English   中英

Shell腳本編寫(如果有),否則將與scp循環

[英]Shell Scripting if then else loop with scp

User=0
av="653"
ma="727"
pr="713"
mi="234"
n=192.168.1.20:/root/Ma
echo "Please select av ma ji im pr"
echo -n "First 2 initial of your Name eg: [av ma ji im pr]? "
read User
if [ "$User" = av ]
then
    echo `scp $User@$n .`
elif [ "$User" = ma ]
then    
    echo `scp $User@$n .`
elif [ "$User" = pr ]
then
    echo `scp $User@$n .`
elif [ "$User" = mi ]
then
    echo `scp $User@$n .`
else
    echo "UNKNOWN USER"
fi

該腳本無法正常運行; 我想要av值為653

你在追尋:

User=0
av="653"
ma="727"
pr="713"
mi="234"
n=192.168.1.20:/root/Ma
echo "Please select av ma ji im pr"
echo -n "First 2 initial of your Name eg: [av ma ji im pr]? "
read User
if [ "$User" = av ]
then echo `scp $av@$n .`
elif [ "$User" = ma ]
then echo `scp $ma@$n .`
elif [ "$User" = pr ]
then echo `scp $pr@$n .`
elif [ "$User" = mi ]
then echo `scp $mi@$n .`
else echo "UNKNOWN USER"
fi

如果不是,請澄清您的問題,以便更清楚地找到您要查找的內容。 我也不清楚為什么要使用echo `scp $xy@$n .`表示-與僅scp $xy@$n .相比,這樣做有什么好處scp $xy@$n .

scp="echo scp"  # For testing; you'd use just scp=scp in production work
User=0
av="653"
ma="727"
pr="713"
mi="234"
n=192.168.1.20:/root/Ma
echo "Please select av ma ji im pr"
echo -n "First 2 initial of your Name eg: [av ma ji im pr]? "
read User
if [ "$User" = av ]
then $scp $av@$n .
elif [ "$User" = ma ]
then $scp $ma@$n .
elif [ "$User" = pr ]
then $scp $pr@$n .
elif [ "$User" = mi ]
then $scp $mi@$n .
else echo "UNKNOWN USER"
fi

當我測試以上腳本(文件xx.sh )時,輸出為:

$ bash xx.sh
Please select av ma ji im pr
First 2 initial of your Name eg: [av ma ji im pr]? mi
scp 234@192.168.1.20:/root/Ma .
$

請注意,在bash ,可以使用間接擴展來簡化代碼:

scp="echo scp"  # For testing; you'd use just scp=scp in production work
User=0
av="653"
ma="727"
pr="713"
mi="234"
n=192.168.1.20:/root/Ma
echo "Please select av ma ji im pr"
echo -n "First 2 initial of your Name eg: [av ma ji im pr]? "
read User
case "$User" in
(av|ma|pr|mi) $scp ${!User}@$n . ;;
(*) echo "UNKNOWN USER"
esac

對於相同的輸入,這將提供與先前腳本相同的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM