Re: [問題] 變數問題
※ 引述《ppsy (looking for)》之銘言:
: 大家好,我利用下面的指令把一個檔案導入FILE裡
: 然後利用迴圈去算行數,迴圈中每行均能正常印出
: 但出了迴圈後變數卻被歸0,請問有人知道原因嗎?
: 謝謝。
: FILE=`cat 24.txt | awk -F "(" '{print $2}' | uniq`
: i=0
: echo "$FILE" | \
: while read CMD; do
: i=`expr $i + 1`
: echo $i
: done
: echo K$i
因為你的變數i並不是設定給你正在執行的shell script
例如:
echo 'aaaa' | ABC="test"
echo "ABC = $ABC"
輸出的ABC會是空的值
因為這種變數設定的方法 (跑shell command同時設定變數)
只會對那一行有效 (因為這種寫法的語義是只要讓該行的command吃到這個變數)
所以你的shell script應該要改寫成:
FILE=`cat 24.txt | awk -F "(" '{print $2}' | uniq`
i=0
for CMD in $FILE
do
i=`expr $i + 1`
echo $i
done
echo K$i
或你也可以考慮用wc這個command來幫你做count:
FILE=`cat 24.txt | awk -F "(" '{print $2}' | uniq`
i=`echo $FILE | wc -w`
echo K$i
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.226.207
推
01/31 00:49, , 1F
01/31 00:49, 1F
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章