今天我发现变量' $ - '是一个随机字符串,但我不知道它代表什么。
➜ ~ echo $-
569JNRTXZghikms
我无法改变价值:
➜ ~ -='sss'
zsh: command not found: -=sss
➜ ~
而且,在一个码头工具中它是:
➜ ~ docker run --rm -ti ubuntu
root@7084255fd54e:/# echo $-
himBH
或者:
➜ ~ docker run --rm -ti alpine ash
/ # echo $-
smi
它的价值与系统有关吗?
答案 0 :(得分:0)
$-
为shell设置的当前选项。
使用“+”而不是“ - ”会导致关闭这些选项。该 在调用shell时也可以使用options。目前的设定 选项可以在$ - 。
中找到剩下的N个参数是位置参数并被分配, 按顺序,$ 1,$ 2,... $ N.特殊参数#设置为N。
除非提供无效选项,否则返回状态始终为零。
答案 1 :(得分:0)
$-
为您提供了为shell设置的当前选项。
请参阅此问题的已接受答案,了解其他各种可用的特殊美元变量:
答案 2 :(得分:0)
在使用zsh时,请运行以下命令:
LESS=+/'PARAMETERS SET BY THE SHELL' man zshparam
找到:
- < S>在调用时或通过set或setopt命令提供给shell的标志。
对于bash(来自Docker),运行以下命令:
LESS=+/'^ *Special Parameters' man bash
阅读:
- 扩展为调用时指定的当前选项标志,set builtin命令或shell本身设置的那些(例如-i选项)。