您的位置:首页 > 运维架构 > Shell

strange behavior when using linux shell

2015-12-02 16:20 666 查看
cat testfile

aa
bb
cc


#!/bin/sh

ruleID=100

cat testfile | while read line
do
case $line in
aa)
echo "@@@aa@@@ruleID = $ruleID"
ruleID=10
echo "@@@aa@@@ruleID = $ruleID"
;;
bb)
ruleID=20
echo "@@@bb@@@ruleID = $ruleID"
test $ruleID
;;
esac
echo "@@@out of case@@@ruleID = $ruleID"
done

echo "@@@out of do while@@@ruleID = $ruleID"


sh aa.sh
@@@out of case@@@ruleID = 100  //the ruleID's value get out of do while loop
@@@aa@@@ruleID = 100
@@@aa@@@ruleID = 10
@@@out of case@@@ruleID = 10
@@@bb@@@ruleID = 20
@@@out of case@@@ruleID = 20
@@@out of case@@@ruleID = 20
@@@out of do while@@@ruleID = 100   //the ruleID's value come back!!


why this kind of situation happen??
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: