只讀,我在第7章「閱讀用戶輸入」一節中閱讀Learning the bash Shell, 3rd Edition。當我 請參見下面的代碼,
echo 'Select a directory:'
done=false
while [ $done = false ]; do
do=true
num=1
for direc in $DIR_STACK; do
echo $num) $direc
num=$((num+1))
done
echo -n 'directory? '
read REPLY
if [ $REPLY -lt $num ] && [ $REPLY -gt 0 ]; then
set - $DIR_STACK
#statements that manipulate the stack...
break
else
echo 'invalid selection.'
fi
done
什麼是set - $DIR_STACK
的確切含義是什麼?
這取決於命令。我建議閱讀有關命令的手冊頁。對於'set'命令,你必須閱讀[Bash手冊頁](http://man7.org/linux/man-pages/man1/bash.1.html),因爲它是一個內部命令。 –
這幾乎肯定是一個錯誤,他們想要運行'set - $ DIR_STACK'。這本身就是一個非常糟糕的做法。 (就這一點而言,'整個DIR_STACK'也是這樣)。 –
......這就是說,我**強烈建議你找一本更好的書。一個很好的參考(由關心良好實踐的人撰寫)不會鼓勵您使用字符串分割來生成迭代,特別是不是文件名。 –