90.读鸟哥私房菜3|学习shell脚本2

2022-11-11  本文已影响0人  人生玩家Eli
cover20220907.png

例子

使用日期命名文件

#!/bin/bash
# 创建三个文件,名称由"用户输入+日期"构成

echo -e "我将使用'touch'命令创建3个文件"
read -p "请输入一个文件名:" fileuser

filename=${fileuser:-"filename"}

date1=$(date --date='2 days ago' +%Y%m%d)
date2=$(date --date='1 days ago' +%Y%m%d)
date3=$(date +%Y%m%d)

file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}

touch "${file1}"
touch "${file2}"
touch "${file3}"
echo ${name-"eli"}# 当name为空时,输出"eli",否则输出变量name的值
echo ${name:-"eli"}# 当name为空或空字符串时,输出"eli",否则输出变量name的值
date +%Y/%m/%d_%H:%M:%S # 输出时间

date -d "+1 second" +%Y/%m/%d_%H:%M:%S         # 输出下一秒
date -d "+1 day" +%Y/%m/%d_%H:%M:%S         # 输出明天的时间
date -d "+2 day" +%Y/%m/%d_%H:%M:%S         # 输出后天时间
date -d "-1 day" +%Y/%m/%d_%H:%M:%S         # 输出昨天时间
date -d "2 day ago" +%Y/%m/%d_%H:%M:%S      # 输出前天时间
date --date="3 day ago" +%Y/%m/%d_%H:%M:%S  # 输出大前天时间

date -s 20120523                # 设置时间
date -s 01:01:01                # 设置时间
date -s "2012-05-23 01:01:01"   # 设置时间
date -s "20120523 01:01:01"     # 设置时间

简单的加减乘除

#!/bin/bash
# 输入两个整数,输出乘积。

echo -e "输入两个整数,\n"

read -p "第一个数:" firstnum
read -p "第二个数:" secondnum

total=$((${firstnum}*${secondnum}))

echo -e "\n${firstnum} x ${secondnum} = ${total}"

通过bc计算pi

#!/bin/bash
# 计算pi的值

read -p "请输入pi的小数位数:" checking
num=${checking:-"10"}

echo "请耐心等待..."

time echo "scale = ${num}; 4*a(1)" | bc -lq

不同执行方式的差异(source, sh script, ./script)

sh script./script这两种方式会使用一个新的bash环境来执行脚本内的指令。

source会在当前bash环境下执行脚本。

这也是为什么,在使一些配置文件生效时,用的是source

source ~/.bashrc source /etc/profile

上一篇 下一篇

猜你喜欢

热点阅读