- A+
所属分类:linux技术
位置变量
位置参数变量 | 作用 |
---|---|
$n | n 为数字,$0 代表命令本身,$1〜$9 代表第 1〜9 个参数,10 以上的参数需要用大括号包含, 如${10} |
$* | 这个变量代表命令行中所有的参数,把所有的参数看成一个整体 |
$@ | 这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区别对待 |
$# | 这个变量代表命令行中所有参数的个数 |
参数处理 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
1. 让用户输入一个字符串,如果用户输入的是 hello
,请输入 hello 用户姓名首字母缩写
,否则输出 请输入hello
2. 编写一脚本,判断输入用户名是否存在,输出结果只能是存在该用户或者不存在该用户,不能有其他数据输出。
3. 编写脚本计算1-100之间的所有奇数和
4. 编写脚本,判断键盘输入整数是否为质数。
5. 模拟一个多任务维护界面,当执行程序时先显示总菜单,然后进行选择后做相应的维护监控操作。
6. 编写脚本实现计算用户输入参数数字的和,分别用 shift 和 for 循环实现。
7. 编写脚本,生成一个phonenumber.txt文件,文件内容为随机产生以139开头的手机号1000个,每个手机号占一行。
8. 在第7题产生的1000个电话号码中抽取5位幸运号码,并显示,要求只显示前3三位数字和后4位数字,中间四位用*代替。
9. 使用 until
语句批量创建10个用户,要求 stu1-stu5
用户的 UID 分别为 2001-2005
, stu6- stu10
用户的家目录分别在 /rhome/stu6-/rhome/stu10
注意这里创建用户要在 root
用户权限下执行脚本,我们可以用 su ( CentOS )
或者 sudo su ( Ubuntu )
,注意不要加 -
,我们还是在当前目录操作。