また、私はLearning the bash Shell, 3rd Editionを第7章の「ユーザー入力を読む」セクションで読んでいます。私は以下のコードを参照してください すると、set - $DIR_STACK
の正確な意味は
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'コマンドについては、内部コマンドであるので、[Bashのマニュアルページ](http://man7.org/linux/man-pages/man1/bash.1.html)を読む必要があります。 –
ほとんどのバグは 'set - $ DIR_STACK'を実行したかったのです。それは*それ自体*本当に悪い習慣です。 (そのため、全体として$ DIR_STACK'には 'direc 'があります)。 –
...つまり、私は強く**あなたがより良い本を見つけることをアドバイスします。良い参考文献(良い習慣を気にする人が書いている)は、文字列分割を使ってイテラブル、特にファイル名を生成するのを奨励するものではありません。 –