Zsh 以 sh 启动时不执行大括号扩展?
Zsh not performing brace expansion when started as sh?
Zsh 不执行大括号扩展,但仅在使用 /bin/sh
link.
调用时执行
$ /bin/sh --version
zsh 5.8 (x86_64-apple-darwin20.0)
$ zsh --version
zsh 5.8 (x86_64-apple-darwin20.0)
$ /bin/sh -c "echo {1..3}"
{1..3}
$ zsh -c "echo {1..3}"
1 2 3
怎么回事?
Brace expansion 不是传统 (POSIX) shell 的特征。它特定于 bash 和 zsh。
当以 /bin/sh
、bash 和 zsh 的形式调用时,其行为类似于 POSIX shell,这就是大括号扩展不起作用的原因。
Zsh 不执行大括号扩展,但仅在使用 /bin/sh
link.
$ /bin/sh --version
zsh 5.8 (x86_64-apple-darwin20.0)
$ zsh --version
zsh 5.8 (x86_64-apple-darwin20.0)
$ /bin/sh -c "echo {1..3}"
{1..3}
$ zsh -c "echo {1..3}"
1 2 3
怎么回事?
Brace expansion 不是传统 (POSIX) shell 的特征。它特定于 bash 和 zsh。
当以 /bin/sh
、bash 和 zsh 的形式调用时,其行为类似于 POSIX shell,这就是大括号扩展不起作用的原因。