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