- 971 名前:デフォルトの名無しさん mailto:sage [2019/10/24(木) 18:07:25.18 ID:lp1ZwQII.net]
- >>956
サブシェルは関係ない。俺もちゃんと仕様読んだわけじゃないけど、 aliasは実行時じゃなくて、1単位ごとに → パース → 実行 の パース時に変換してる感じ そして1単位というのは、 alias FLAG=true alias FLAG=false; FLAG && echo true ↑これは一行で一単位、だからtrueと表示されてしまうし 関数とか、プロンプトから、func() { 改行 とかやると } 改行 するまで、ずっと行頭に > って表示されるだろ? あれが1単位。だから↓みたいなものもtrueって表示されてしまうんだよ alias FLAG=true func() { alias FLAG=false if FLAG; then echo true fi } func
|

|