一,思维导图
二,习题
1.请把当前用户名存到数组下表0;当前用户id存到数组下表2;当前用户名存到数组下表3;当前用户使用解析器存到下表1;打印数组元素。
#!bin/bash
a=()
a[0]=`grep "^ubuntu" /etc/passwd | cut -d ":" -f 1 `
a[2]=`grep "^ubuntu" /etc/passwd | cut -d ":" -f 3 `
a[3]=`grep "^ubuntu" /etc/passwd | cut -d ":" -f 4 `
a[1]=`grep "^ubuntu" /etc/passwd | cut -d ":" -f 7 | cut -d "/" -f 3`
echo ${a[*]}
输出结果:
注意事项:使用反单引号` `来实现命令置换的功能,将cut的字符串作为变量使用,同时运用管道符来简化步骤。
2.在终端输入一个字符串,请输出最后一位。
#!/bin/bash
read -p "please enter a:" -a a
b=${a:0-1}
echo $b
输出结果:
注意事项:利用${变量:0-m}截取从左往右数第一个字符,相当于字符串的最后一位。
3.输入一个5位数字,计算每一位的和。
#!/bin/bash
read -p "enter num:" -a a
b=$((a/10000))
c=$((a/1000%10))
d=$((a/100%10))
e=$((a/10%10))
f=$((a%10))
sum=$(($b+$c+$d+$e+$f))
echo $sum
输出结果:
注意事项:主要注意五位数每一位的算法。