背景
在研究 shell 参数 、$-
、sh
、bash
和时zsh
,我发现它返回了当前选项标志hBc和sh
569X 。bash
zsh
SUSE >> bash -c 'echo "$0"; echo "$-"'
bash
hBc
SUSE >> sh -c 'echo "$0"; echo "$-"'
sh
hBc
SUSE >> zsh -c 'echo "$0"; echo "$-"'
zsh
569X
问题
我曾经man zsh
查找有关569X的信息,但一无所获。有人可以解释为什么“$-”返回569X吗zsh
?
$-
可以通过查找每个字符对应的单字符选项来理解:-5
使 Zsh 立即报告后台作业的状态;-6
导致 Zsh 以较低的优先级运行所有后台作业;-9
当完成不明确时,导致 Zsh 自动列出选项;-X
导致 Zsh 在列出要完成的文件时显示文件的类型。请参阅Zsh 手册中的选项说明。上面的四个选项是默认启用的四个非初始化选项,可以用一个字符选项控制。