我使用一个shell脚本来清理一些目录。
DAYS=${1-10}
echo `date` "INFO Cleaning tmp, log, backup, xml data files older than $DAYS days"
变量${1-10}
上DAYS
的含义是什么?
答案 0 :(得分:1)
除非未设置 $1
,否则会将DAYS
的值分配给$1
,。在这种情况下,使用默认值10。
$ echo ${1-10}
10
$ set 5
$ echo ${1-10}
5
顺便说一下,它应该是DAYS=${1:-10}
,因此空值也会替换为10. ""
可能不是DAYS
的有用值。
答案 1 :(得分:1)
$1
是脚本的第一个命令行参数:
$ myscript.sh foo
将$1
设置为foo
。因此DAYS
为foo
。
${1-10}
使10
默认值:
$ myscript.sh
将DAYS
设置为10
。