-
总结位置变量$1,$2.. $10,$11…MAX
位置变量的含义分别就是代表第几个参数,$1就是脚本运行的第一个参数.$2就是第二个.以此类推.直到最后.
-
$*,$@,$# 区别
特殊变量:
$0 : 表示命令本身
$#:传递给命令的参数个数
$*:传递给脚本的所有参数(所有参数是一个整体的字符串)
$@:传递给脚本的所有参数(各个参数都是独立的字符串)
$*和$@的区别
相同点就是都是传递所有参数
不同点:
$*传递的所有参数是看作一个整体的字符串
$@传递的所有参数是看作一个个独立的字符串
例证:
3.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。
4.编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中
5.编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
6.编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
7.写一个脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和
8.写一个脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和
9.写一个脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件
10.写一个脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数
11.写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
12.写一个脚本checkdisk.sh,检查磁盘利用率高于80的,并报警
13.编写脚本/bin/per.sh,判断当前用户对指定的参数文件,是否不可读并且不可写
14.编写脚本/root/bin/excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件
15.编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统
nologin.sh
login.sh
16.写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,先判断是否合格IP,否,提示IP格式不合法并退出,是,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
17.计算从脚本第一参数A开始,到第二个参数B的所有数字的总和,判断B是否大于A,否提示错误并退出,是则计算之
原创文章,作者:Kartik,如若转载,请注明出处:http://www.178linux.com/36065