who*_*ami 28 shell bash parameter
我在一个很棒的 shell 脚本的末尾看到了这一点,但我无法理解这里的登录信息,因为我认为它缺少更长的命令。
spark ${@:-`cat`}
Run Code Online (Sandbox Code Playgroud)
这出现在这个脚本的末尾。有任何想法吗?
+ 标记为将其扩展为完整代码段的人,即使速度较慢(更好的解释)
Sté*_*nez 29
这是参数替换的第一个特殊情况man bash:
${parameter:-word}
使用默认值。如果parameter未设置或为空,word则替换的扩展。否则,将parameter替换的值 。
在您提到的情况下,要么用户在命令行上提供了参数并且将使用它们,要么要求用户随后在标准输入中输入它们。
Afaik:-基本上是:使用$@OR `cat`(不设置$@为`cat`)...
所以一些变量替换的东西...
编辑:所以它为您提供了某种交互式输入...
这是一个小的终端测试:
localhost:~ _druu$ echo ${@:-`cat`}
hello
world
;)
^\hello world ;)
localhost:~ _druu$
Run Code Online (Sandbox Code Playgroud)