位置= $ 1吗?这是什么意思?

时间:2014-04-02 07:26:38

标签: unix

#!/bin/bash

LOCATION=$1
FILECOUNT=0
DIRCOUNT=0

if [ "$#" -lt "1" ]
then
echo "Usage: ./test2.sh <directory>"
exit 0
fi

我实际上并没有得到If声明所说的任何人可以帮我解释一下吗?谢谢

2 个答案:

答案 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,那么它将输出用法语句(因为看起来你不能运行没有任何参数的脚本)