[IT学习]阿铭Linux 微信公众号 每日一题 解析

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是指分隔符分割后对应的字段。

 

posted @ 2017-10-20 14:34  viphhs  阅读(177)  评论(0编辑  收藏  举报