Shell编程(1)
发布时间:2020-12-15 09:12:56 所属栏目:安全 来源:网络整理
导读:Shell是用户与Linux操作系统沟通的桥梁 Linux的Shell种类众多,这里我们学习的是bash,也就是Bourne Again Shell 1:由于易用和免费,Bash在日常工作中被广泛使用 2:Bash是大多数Linux系统默认的Shell。 文件名后缀通常是.sh #!/bin/bash For循环 格式1for
Shell是用户与Linux操作系统沟通的桥梁 Linux的Shell种类众多,这里我们学习的是bash,也就是Bourne Again Shell 1:由于易用和免费,Bash在日常工作中被广泛使用 2:Bash是大多数Linux系统默认的Shell。 文件名后缀通常是.sh #!/bin/bash For循环格式1 for ((i=0;i<10;i++)) do ... done 格式2 for i in 0 1 2 4 5 8 9 do ... done 格式三 #!/bin/bash for i in {0..9} do echo $i done 条件测试bash条件测试 命令执行成功与否即为条件测试 test EXPR [ EXPR ]:注意中括号和表达式之间的空格 整型测试: -gt:大于:例如[ $num1 -gt $num2 ]或者test $num1 -gt $num2 -lt:小于 -ge:大于等于 -le:小于等于 -eq:等于 -nq:不等于 字符串测试: > 大于[ "$str1" &; "$str2" ] 注意测试符号左右的空格 < 小于 = != 算术运算let varNamer=算术表达式 varName=$[算术表达式] varName=$((算术表达式)) varName=`expr $num1 + $num2` 使用这种格式要注意两个数字和+号中间要有空格。 while/until循环#!/bin/bash while [ $1 -gt 2 ] do echo "true" sleep 1 done if判断#!/bin/bash if [ $1 -eq 1 ] then echo 'one' elif [ $1 -eq 2 ] then echo 'two' elif [ $1 -eq 3 ] then echo 'three' else echo 'none' fi case判断#!/bin/bash case $1 in 1) echo 'one' ;; 2) echo 'two' ;; 3) echo 'three' ;; *) echo 'none' ;; esac 循环控制命令-break#!/bin/bash while [ 1 -eq 1 ] do for ((i=0;i<10;i++)) do if [ $i -eq 2 ] then break 2 fi echo $i done echo 'yes' sleep 1 done 循环控制命令-continue#!/bin/bash for ((i=0;i<10;i++)) do if [ $i -eq 2 ] then continue fi echo $i done 自定义函数#!/bin/bash function currtime(){ echo "current time is"`date +%Y-%m-%d` } #!/bin/bash source fun.sh test $1 date显示当前时间 格式化输出 +%Y-%m-%d 格式%s表示自1970-01-01 00:00:00以来的秒数 指定时间输出 --date='2009-01-01 11:11:11' 指定时间输出 --date='3 days ago' readread VAR_NAME read -p "Enter your name:" VAR_NAME read如果后面不指定变量,那么read命令会将接收到的数据放置在环境变量REPLY中 read -t 5 -p "enter your name:" VAR_NAME read -s -p "Enter your password: " pass 后台模式运行脚本在脚本后面加一个& test.sh & 这样的话虽然可以在后台运行,但是当前会话窗口关闭之后这个脚本也会停止运行 使用nohup test.sh & nohup命令将进程和终端分开,所以关闭当前会话窗口不会影响这个进程的执行。 nohup会在当前执行的目录生成一个nohup.out日志文件 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容