我做了一个基本的shell脚本,它寻找文件的存在.它可以获得睡眠间隔的参数(可选).如果我不给任何,默认的是60秒.
这是我的代码:
#!/bin/bash
minutes=60
if [ "$#" -eq 1 ]; then
re='^[0-9]+$'
if ! [[ "$1" =~ re ]]; then
echo $1 is not a number!
exit 1
fi
else minutes=$1*60
fi
while [ ! -f uj_aru ]
do
last | grep Apr
sleep "$minutes"
done
Run Code Online (Sandbox Code Playgroud)
运行此后,我收到此错误:
sleep: invalid time interval '*60'
我想这里有一个变量的小错误,但我没有设法搞清楚.
你没有这样做算术.您需要使用as 进行算术评估$((..))
minutes=$(($1*60))
Run Code Online (Sandbox Code Playgroud)
该错误是因为您传递了一个它不喜欢的文字字符串输入sleep.
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |