(2.8)shell中各种奇怪的符号

文章目录

  • eg
#!/usr/bin/bash
read -p "Please input number: " num
## num3=123yy
## [[ ! “$num3” =~ ^[0-9]+$ ]];echo $? 表示:num3变量是否匹配后面的正则模式,表示:如果不是数字,就echo
## 1

while true
do
	if [[ “$num” =~ ^[0-9]+$ ]];then  ###后面是正则比较,不要加“”,,~表示匹配。如果是数字,则break
		break
	else
		read -p "Nonumber,Please input number: " num
	fi
done

read -p "Please input prefix: " prefix
while true
do
	if [ -z "$prefix" ];then    ##字符串长度
		echo "error prefix"
		exit
	else
		read -p "Please input prefix:" prefix
	fi
done

1.符号总结

  • shell中的各种符号
()	在子shell执行
(()) 	C 风格的数值比较,((1<2))
$(1+2)	和`1+2`一样,叫命令替换:先执行里面的命令,eg:touch $(date +%F)_file.txt
$((1+2))	整数运算

{}		表示集合,eg:touch {1..2}
${}		表示变量

[]		条件测试:文件,整数,数值,字符串比较	
[[]]	功能包含[]的功能,还支持正则比较:[[ =~ ]]~表示正则匹配
eg:[ -d /home -a -f /home/files ];echo $?      等价于
[[ -d /home && -f /home/files ]];echo $? 
$[2**10]		整数运算,210次方
  • 执行脚本
./1.sh	重要的执行权限 在子shell中执行
bash 1.sh	不需要执行权限	在子shell中执行

. 1.sh	不需要执行权限,在当前shell中执行
source 1.sh		不需要执行权限	在当前shell中执行
注意:通常修改系统配置文件如:/etc/profile的PATH等变量后,使之在当前shell中生效

  • 调试脚本:
sh -n 1.sh	仅调试syntax error
sh -vx 1.sh 以调试的方式进行,查询整个执行过程
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢打篮球的普通人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值