Shell Script

记录一些有用的shell script语法。

  • 规范性要求

在脚本的开始写上事件、作者、需要的环境变量、功能说明等信息

  • read
read -p "Please input your first name:" firstname #提示用户输入
read -p "PLease input your last name:" lastname 
echo -e "\nYour full name is:$firstname $lastname"
  • date的使用规范,以及判断用户是否输入信息
read -p "Please filename:" 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)
echo "$date1"
echo "$date2"
echo "$date3"
  • test 判断
test -e filename && echo "Exist" || echo "Not Exist"
#判断文件是否存在
  • 默认变量$0、$1…其中$0代表文件名,也就是说从$1开始是真正的参数。
sh 1.sh 1 2 3 4 5
shift 3
#偏移3个参数,也就是$0,$1,$2三个参数被偏移掉了
  • 判断式
if [$a == "a"] && [$b == "b"] || [1]; then
	echo "Pass!"
elif []; then
	echo "pass1.0"
else
	echo "balabala"
fi
  • 匹配case in
case $1 in
	"hello")
		echo "Hello World!"
		;;
	"")
		echo ""
		;;
esac 
  • 函数自定义
function fname(){
}
#调用,至于参数嘛,和上面提到的$0,$1...一致
fname;
  • Loop 循环
#第一种
while [条件]
do 
	echo "我在循环"
done
#第二种,条件成立就停止循环,和while相反
until [条件]
do 
	echo "我在循环"
done
  • For固定循环
#固定循环
for var in  con1 con2 
do 
	echo "$var"
done
#输出
# con1 con2
  • For数值循环
for ((初始值; 限制值; 执行步长))
do 
done
#示例
for ((i=1; i<7; i=i+1 ))
do
done
  • 脚本执行追踪
sh [-nvx] script.sh
# -n 不执行脚本,仅仅查询语法的问题
# -v 在执行script之前,将script的内容输出到屏幕上
# -x 将使用的script显示到屏幕上

结束。echo “Commit”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值