我不能在我的生活中看到爲什麼我無法讀取while循環之外的postPrioity。 我試過「export postPrioity =」500「」仍然沒有工作。無法讀取while循環中存儲的變量,當出現while循環時
任何想法?
- 或計劃文本 -
#!/bin/bash
cat "/files.txt" | while read namesInFile; do
postPrioity="500"
#This one shows the "$postPrioity" varible, as '500'
echo "weeeeeeeeee ---> $postPrioity <--- 1"
done
#This one comes up with "" as the $postPrioity varible. GRRR
echo "weeeeeeeeee ---> $postPrioity <--- 2"
OUTPUT:(我只有在files.txt 3文件名)
weeeeeeeeee ---> 500 <--- 1
weeeeeeeeee ---> 500 <--- 1
weeeeeeeeee ---> 500 <--- 1
weeeeeeeeee ---> <--- 2
感謝證實我的猜測!我想在BashFAQ中提到的其他一些解決方法(例如命令分組)是更好的選擇,但通常你的管道並不是毫無意義的。 – Cascabel 2009-10-07 06:12:02
當然,管道在每種情況下都不是毫無意義,但是構造「cat file | ...「應該在大多數情況下被替換爲」... <文件「。見例如Bash指南:http://mywiki.wooledge.org/BashGuide#BashGuide.2BAC8-Practices.2BAC8-DontEverDoThese.Don.27t_Ever_Do_These – Philipp 2009-10-07 06:18:00
從來不知道這一點,你我知道一些關於subshell的。 但是,現在請記住這一點,並將在這些網站上閱讀,謝謝。 – Mint 2009-10-07 06:24:10