是正则表达式的字符判断
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了龙泉驿免费建站欢迎大家使用!
if [[ $i =~ ^[0-9]+$ ]] echo 1
1、^是匹配字符串开始的意思,[0-9]只要不是数字都不要。
2、~ +的意思的^[0-9]的范围里匹配一次以上+ $是匹配结束符。
touch -t "201109021200.00" tempfile
使用引号内的时间戳在当前目录建立一个叫tempfile的文件
find -name "*VIRTUALID*" -newer tempfile -exec cp {} /home/wbft/luo \;
扩展资料
Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell本身是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。
它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。
表示指定当前的命令输出格式:
例如:
date +%Y%m%d //显示前天年月日
date +%Y%m%d --date="+1 day" //显示前一天的日期
date +%Y%m%d --date="-1 day" //显示后一天的日期
date +%s //从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数(时间戳)
题主你好,
先讲个题外话, 我们在执行脚本时, 有些命令是在当前shell中被执行的, 有些命令需要fork()当前shell得到一个子shell,然后在子shell中执行相应的命令.
回到正题, 在对shell脚本调试时, 每条被跟踪执行的语句前面都至少有一个+, 你可以理解为, 如果在语句前只看到了1个" + "号, 表示该条语句是在你执行脚本的那个shell中被运行的; 如果你在语句前看到了2个" + "号, 则表示,该条语句是从你运行脚本的shell中fork()得到一个新的子shell,然后在这个子shell中运行的; 当然这个" + "号的数量不只2个, 理论上可以有无数个, 下面给你举个前面有3个" + "号的例子:
上面语句, 从左到右的echo分别在当前shell中执行, 子shell中执行,孙shell中执行
写在最后: " + "号其实读取的是linux中变量PS4的值:
所以我们可以自己改变变量PS4的值, 然后去调试shell脚本,就会看到每个被追踪语句的开头显示的都是我们自定义的符号了:
可以看到, 除了我们设置变量PS4的语句使用的是系统默认的PS4变量值" + ", 之后被追踪执行的语句开头已经变成了我们自定义的符号" 6 "了.
希望可以帮到题主, 欢迎追问.