1、shell习题171020公布的昨日答案
习题171019 - 打印正方形
#!/bin/bash read -p "please input a number:" sum a=`echo $sum |sed 's/[0-9]//g'` if [ -n "$a" ] then echo "请输入一个纯数字。" exit 1 fi for n in `seq $sum` do for m in `seq $sum` do if [ $m -lt $sum ] then echo -n "■ " else echo "■" fi done done
建议你手敲一遍命令,这样就会有一些深入的理解。例如条件中对于空格的要求。
1)需要注意的是,if条件语句后面的方括号,需要有空格与条件部分隔离。
2)-n的含义,请参考 http://www.cnblogs.com/image-eye/archive/2011/08/20/2147015.html
3)sed命令,请参考 http://www.cnblogs.com/sinaxyz/archive/2012/12/16/2820781.html
2、shell习题171023公布的昨日答案
写一个脚本,依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么
Hello,root,your UID is 0.
参考答案:awk -F ':' '{print "Hello,"$1",your uid is "$3.}' /etc/passwd
1)手敲一遍命令,对于-F参数,是指分隔符
2)参数前后都要有空格。
3)$1 $3是指分隔符分割后对应的字段。