【问题标题】:What does -n mean in Bash?-n 在 Bash 中是什么意思?
【发布时间】:2012-05-07 01:03:10
【问题描述】:

这可能是一个非常愚蠢的问题,但是...如果 [ ! -n "$1" ],意思是,如果不超过一个参数...所以我知道它是如何工作的,但是-n 是什么,它是数字的缩写吗?

我一直在阅读 The Advanced Bash 编程指南,他们刚刚开始使用它。我试图找到它并想​​出它必须是一个“内置”默认参数。 Linux 中是否有显示默认参数的命令?

【问题讨论】:

    标签: bash parameters


    【解决方案1】:

    test(又名[)的-n 参数表示“不为空”。您发布的示例的意思是“如果$1 不为空。这是说[ -z "$1" ];$1 为空)的迂回方式。

    您可以通过help test了解更多信息。

    $1 和其他 ($2, $3..) 是位置参数。它们是作为参数传递给您所在的脚本或函数的参数。例如,以./foo bar baz 运行名为foo 的脚本将导致$1 == bar$2 == baz

    【讨论】:

    • 也可以在 bash 手册页中找到。 /test 确实是一个好的开始。
    【解决方案2】:

    -n字符串运算符 之一,用于评估 Bash 中的表达式。它测试它旁边的 string,如果 string 不为空,则将其评估为“True”。

    位置参数 是一系列特殊变量($0$1$9),其中包含程序命令行参数的内容。 $0 包含程序的名称,其他包含我们传递的参数。

    这里,如果传递给程序的第二个 位置 参数 ($1) 为 或(换句话说)如果除了$0,没有参数被传递给程序。

    【讨论】:

      猜你喜欢
      • 2022-12-16
      • 2016-05-24
      • 1970-01-01
      • 2022-11-17
      • 2012-04-19
      • 1970-01-01
      • 2015-09-27
      • 2015-09-18
      相关资源
      最近更新 更多