新しい端末を開き、1から10まで数字を数えます。
terminal -e "for i in {1..10}; do echo $i; sleep 1; done;"
結果:
3
3
3
3
3...
なぜこのようなことをするのですか?
答え1
二重引用符のため、変数は現在のシェル(ターミナルコマンドが実行されるシェル)から解釈されます。 $iがシェルで定義されているので、明らかに3を取得します。期待される結果を得るには、単一引用符を使用してください。
新しい端末を開き、1から10まで数字を数えます。
terminal -e "for i in {1..10}; do echo $i; sleep 1; done;"
結果:
3
3
3
3
3...
なぜこのようなことをするのですか?
二重引用符のため、変数は現在のシェル(ターミナルコマンドが実行されるシェル)から解釈されます。 $iがシェルで定義されているので、明らかに3を取得します。期待される結果を得るには、単一引用符を使用してください。