linux shell脚本基本案例
linux shell脚本基本案例
1、修改所有普通用户的密码为随机密码,并保存随机密码到pass.conf文件中。
验证:
考察:
输出重定向 > >>以追加方式将内容输入到pass.conf文件中。输入重定向 < 错误重定向 2>
awk文本处理工具。-F 指定分隔符。
Linux << EOF … EOF域:表示用户自定义终止符EOF只是一个标示符可以用其他非关键字代替,比如abc。它的作用是在命令执行过程中用户自定义输入,类似于一个临时文件的作用。
注意:<< 与EOF中间有空格,结尾EOF必须 顶格 写。
While 语句书写格式
2、将个人用户下任意目录下所有的文件的扩展名改为.bak。
验证:
考察:
本地变量的使用 file%.*所有格式文件
for语句的书写格式 for 变量 in
mv文件操作 移动文件
3、写一个脚本,统计/etc/目录下共有多少个目录文件。
改进: ls -l | grep ^d |wc -l
验证:
考察:
管道符使用 查找文件命令
文件类型 find -type 后跟:d目录文件 f普通文件 l符号链接文件 b块设备文件 c字符设备文件 p管道文件 s套接字文件
grep ^d以d开头是因为ls -l 查出来是-rwx—第一个表示文件类型
4、写一个脚本,依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么。
验证:
考察:
awk文本处理工具灵活使用 注意:在{print }中如果要额外打印语句必须以字符串形式用””双引号。
5、写一个脚本,当执行一个程序的时候,这个程序会让使用者选择BOY或者GIRL;如果使用者输入B或者b时,就显示:he is a boy。如果使用者输入G或者g时,就显示:she is a girl。
验证:
考察:
shell脚本选择结构case语句书写格式。注意:case后跟变量后还有in结束esac。
G | g) 可以两句合并
如果用if选择语句写 if [ $a == b ] -eq -ne -gt/e -lt/le 只适合数值比较。字符串比较用 == !=
6、写一个脚本,要求生成一个09的随机数num1,另外从键盘输入一个09的num2,使用num1与num2进行取余和整除操作,并且比较取余和整除的大小。
验证:
考察:
随机生成数字函数 RANDOM 或者date+%s%N
使用格式 $RANDOM $[RANDOM%10] 注意:中括号 $((RANROM%10))
if语句书写格式
while true死循环