6.编写一个脚本,打印任何数的乘法表。如输入3则打印
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
read -p "Please enter your number:" number awk '{for(i=1;i<=$1;i++){for(j=1;j<=i;j++){printf("%d*%d=%d "),i,j,i*j}printf("\n")}}' <<<$number
今天效率很高,和昨天那个差不多。
7. 编写一个脚本,输入自己的生日时间(YYYYMMDD),计算还有多少天多少个小时是自己的生日。
看别人写的:
#!/bin/sh awk '{print int($0/86400)"天"int($0%86400/3600)"小时"int($0%86400%3600/60)"分钟"}' <<<$[$(date -d "`date +%Y`${1:4}" +%s)-`date +%s`]
其中date +%Y`${1:4}是指将参数从第四个字符开始截断。这里有个问题,此人今年刚过了生日,那么下一个生日即是明年才过,所以代码更改如下:
#!/bin/sh time=$(($(date -d "`date +%Y`${1:4}" +%s)-`date +%s`)) if [ $time -le 0 ];then time=$(($time + 31536000)) fi day=$(($time/86400)) hour=$(($time%86400/3600)) min=$(($time%86400%2400/60)) echo "$day天$hour小时$min分钟"
这次又忘记赋值时不要引用$,并且中间无空格。切记!