#!/bin/bash
LOCATION=$1
FILECOUNT=0
DIRCOUNT=0
if [ "$#" -lt "1" ]
then
echo "Usage: ./test2.sh <directory>"
exit 0
fi
我实际上并没有得到If声明所说的任何人可以帮我解释一下吗?谢谢
答案 0 :(得分:3)
$1
指的是bash文件的第一个参数。在这种情况下,您可以通过发出以下命令来传递目录路径:
# ./test2.sh /path/of/your/directory
#!/bin/bash
LOCATION=$1 #first argument of the script
FILECOUNT=0
DIRCOUNT=0
if [ "$#" -lt "1" ] #if the number of argument(s) ($#) is less than 1
then
echo "Usage: ./test2.sh <directory>"
exit 0
fi
您可以阅读this article以获取有关参数传递的更多信息。 希望它有所帮助。
答案 1 :(得分:1)
$1
是传递给bash脚本的第一个参数。如果您启动类似./test2.sh argument1 argument2
的脚本,则$1
会引用argument1
。
if语句检查,如果参数计数(即$#
)小于1,那么它将输出用法语句(因为看起来你不能运行没有任何参数的脚本)