用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。
在命令行输入
$: crontab cronfile
时间表例如:
每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
/20 6-12 12 /usr/bin/backup
时程表的格式如下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。
当 f1 为 时表示每分钟都要执行 program,f2 为 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 /n 时表示每 n 分钟个时间间隔执行一次,f2 为 /n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c, 时表示第 a, b, c, 分钟要执行,f2 为 a, b, c, 时表示第 a, b, c个小时要执行,其余类推
#!/bin/bash
for((i=1;i<=80;i++))
do
if [[ $i -ge 1 ]] && [[ $i -le 10 ]]
then
a[$i]="少年"
elif [[ $i -ge 11 ]] && [[ $i -le 30 ]]
then
a[$i]="青年"
elif [[ $i -ge 31 ]] && [[ $i -le 50 ]]
then
a[$i]="中年"
elif [[ $i -ge 51 ]] && [[ $i -le 80 ]]
then
a[$i]="老年"
fi
done
for((;;))
do
# 输入end结束程序
if [[ $age = "end" ]]
then
break
fi
awk 'BEGINif('$age' in a)exit 0;else exit 1;}'
if [[ $ -eq 0 ]]
then
echo $
else
echo "输入年龄错误,必须为1-80整数"
fi
done
已经过测试,结果如下
请输入年龄:1
少年
请输入年龄:2
少年
请输入年龄:21
青年
请输入年龄:31
中年
请输入年龄:51
老年
请输入年龄:80
老年
请输入年龄:81
输入年龄错误,必须为1-80整数
请输入年龄:21
输入年龄错误,必须为1-80整数
请输入年龄:q
输入年龄错误,必须为1-80整数
请输入年龄:0
输入年龄错误,必须为1-80整数
请输入年龄:end
编写好的shell脚本(如:test),可以采取两种方式进行运行:\x0d\一、 $ sh test\x0d\一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。\x0d\也可以采用 $ ksh test\x0d\这种方式要求shell具有“可读”的访问权限。\x0d\二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。\x0d\chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)\x0d\chmod +rx test(同上)\x0d\chmod u+rx test(只有文件属主具有读和执行的访问权限)\x0d\按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。\x0d\1、test(如果命令检索路径包含当前目录)\x0d\2、/test(如果命令减缩路径不包含当前目录)\x0d\说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。
以上就是关于关于Linux的shell脚本问题全部的内容,包括:关于Linux的shell脚本问题、shell编程,求高手帮助,小弟感激不尽!!!小弟分不多,只能给这么多先、如何运行linux shell程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)