我遇到了代码
if [ $# -eq 1 ]; then
echo "usage: Phar ~/flashmem ~/archive"
exit
fi
我从未见过[$#-eq 1];之前和我似乎无法找到意义
答案 0 :(得分:6)
“$#”返回作为参数传递的参数数量
#!/bin/bash
echo $#
现在
./testess.sh test1 test2 test3
此返回3
./testess.sh test1 test2 test3 test4 test5
此返回5
所以在你的代码中如果“$#”等于第一个(只传递一个参数),执行echo命令
答案 1 :(得分:1)
Expands to the number of positional parameters in decimal.
(从man bash
复制,Special Parameters下)。