继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

SHELL DEMO

武HH
关注TA
已关注
手记 5
粉丝 2
获赞 0

1.打印目前身份,当前所在目录

#!/bin/bash
echo -e "Your user name is $whoami"
echo -e "Your current directory is $pwd"

2.计算指定日期到今天相差几天

#!/bin/bash
#判断是否有传值,若无,提示输入
if [ $1 ]; then
        p_date=$1
else
        until [ $(expr length "$p_date") == 8  ]
        do
        read -p "请输入一个日期,格式为YYYYMMDD:" p_date
        if [ $(expr length "$p_date") != 8 ]; then
                echo "格式输入错误!"
        fi
        done
fi

p_date_s=`date --date="$p_date" +%s`    #指定日期秒数,注意,+%s之间不能有空格
n_date_s=`date +%s`     #现在的日期秒数

declare -i date_total_s=$(($p_date_s-$n_date_s))
declare -i date_total_d=$(($date_total_s/60/60/24))

echo "$p_date距离今天相差$date_total_d天"

3.奇数累加至输入值

#!/bin/bash
#判断是否有传值,若无,提示输入
if [ $1 ]; then
        end_num=$1
else
        until [ -n "$( echo $end_num | sed -n '/^[1-9][0-9]*$/p' )" ]
        do
        read -p "请输入一个数字:" end_num
        #使用[[]]提供另一种思路,注意,该方式正则不要加引号
        if [[ ! $end_num =~ ^[1-9][0-9]*$ ]]; then
                echo "输入值非大于0的数字"
        fi
        done
fi
total=0
for (( num=1; num<=$end_num; num=num+2 ))       #在条件语句中使用le替代<=
do
    total=$(($total+$num))
done

echo "奇数累加值为:$total"

4.输出linux账号,格式为“ The 1 account is “root” ”

#!/bin/bash
cat /etc/passwd | awk 'BEGIN{FS=":"} {print "The " NR "account is \""$1 "\"" } '
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP