这可能是一个非常愚蠢的问题,但是......如果[!-n"$ 1"],意思是,如果不超过1个参数那么...所以我得到它是如何工作的,但-n
它是什么是数字的缩写?我一直在阅读高级bash编程指南,他们刚刚开始使用它,我试图找到它并想出它必须是一个"内置"默认参数,第二个问题是有一个显示默认的命令Linux中的参数.
Dae*_*yth 11
(又名)的-n
论点意味着"不是空的".你发布的例子意味着"如果不是空的话.这是一种迂回的说法(是空的).test
[
$1
[ -z "$1" ];
$1
你可以了解更多help test
.
$1
和其他($2
,$3
..)是位置参数.它们是作为您所在的脚本或函数的参数传递的内容.例如,运行一个名为foo
as 的脚本./foo bar baz
会导致$1 == bar
,$2 == baz
小智 11
-n
是用于计算 Bash 中表达式的字符串运算符之一。它测试旁边的字符串,如果字符串非空,则将其评估为“True”。
位置参数是一系列特殊变量($0
、$1
到$9
),其中包含程序的命令行参数的内容。$0
包含程序的名称,其他包含我们传递的参数。
此处,如果传递给程序的第二个位置参数 ( ) 为空,或者(换句话说)如果除了 之外没有任何参数传递给程序,则计算结果为[ ! -n "$1" ]
“True” 。$1
$0