linux - 检查bash shell脚本中的参数数量

标签 linux bash arguments

我用它来检查 bash shell 中的参数数量,如下所示:

#! /bin/bash
usage() {
    echo "Usage: $0 <you need to specify at least 1 param>"
    exit -1
}
[ x = x$1 ] && usage

其中,如果 [ x = x$1 ] 条件不满足,执行用法。 在这里,我的问题是,我从来没有真正考虑过看起来很像条件表达式的表达式 [ x = x$1 ]。 x算作文字吗?为什么我们可以使用 = 进行比较。通常它应该是类似 == 的东西吗?

有人可以填补这里的空白吗?

最佳答案

[ x = y ] 条件用于比较字符串。 (仅一次 =)

x$1表示连接两个字符串x$1

因此,如果 $1 为空,则 x$1 等于 x,并且 [ x = x ] 将结果为真。

关于linux - 检查bash shell脚本中的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415845/

相关文章:

linux - 为什么这是语法错误?

linux - Traceroute : target doesn't acknowledge packet just from a specific host. 来自其他主机的 Traceroute 工作正常。 Ping 在所有主机上都能正常工作

c++ - 即使所有文件都使用 fPIC 编译,ld 也无法将静态库链接到动态库

mysql - 使用 Regex 解析 Bash 脚本中的 ClamAV 日志以插入 MySQL

Bash Completion : What can we do with it, future 会发生什么

function - Go 是否允许一个函数使用另一个函数作为参数?

linux - Crunch 生成特定字典

python - 在 bash 脚本中调用 python 脚本会更改变量的类型

javascript - 当变量传递给函数时,实际传递的是什么?

c - C中的函数参数