我正在学习 Linux 入门,遇到了一些我不明白的事情:“以下命令已被执行:
set 10 20 30 40 50
输入变量的值$#
:
我理解的是变量$1=10 $2=20
等等。那么会$#
是什么呢?
答案1
假设有以下 bash :
#!/bin/bash
echo $#
你运行如下:./arg.sh g jt t uu
它返回 4,4 是你传递给 shell 的参数数量。
研究 shell 脚本的参数是非常好的。
假设我有以下程序用法:
--value PATTERN -o PS_COMMAND_OPTIONS
那么我可以调查如下代码:
if [ "$1" = "--value" -a "$3" != "-o" -o "$1" != "--value" -a "$3" = "-o" -o ! $# -eq 4 ]; then
help;
exit;
fi;
答案2
我也在做 Linux 入门。我明白它意味着参数总数。你可以这样使用它:
#!/bin/bash
if [ $# = 2 ]
then echo "Your name is $1 $2"
else
echo "You need two arguments"
fi