shell编程笔记

来源:互联网 发布:移动2g网络可以上网吗 编辑:程序博客网 时间:2024/06/11 06:24
#!/bin/bashecho "hello shell"a=20b=20echo "$a"if [ $a != $b ];thenecho "a is not equals to b"fiif [ $a = $b ];thenecho "a is equals to b"fifor skill in micro learn unix shelldoecho "Hello this is for block code..elment $skill"donemyname="micro"echo ${myname}### 测试只读myname2="micro2"readonly myname2echo ${myname2}###myname2="micro3" throw exception..myname3="micro3"echo "${myname3}"echo "unset myname3..."unset myname3echo ${myname3}## 参数echo "File Name : $0"echo "First Parameter : $1"echo "Third Parameter : $2"echo "All Parameter : $@"echo "All Values : $*"echo "Total Parameter Numbser : $#"###替换转义a=1echo "this is a value ${a} \n"##替换echo -e "this is a value ${a} \n"##运算符val='expr $a + $b'##运算符之间要加空格,加减乘除 + - * /  取余%###关系运算符if [ $a -eq $b]then echo "a is equals to b"else echo "b is not equals to b"fi###一些常见的运算符 -eq -ne -gt -lt -ge -le##布尔运算 !  -o为或 -a为并##字符串运算  = 为是否相等,  != 为是否不相等  -z 是否长度为0  -n 是否长度不为0  str 检测是否不为空##检测文件相关属性file="/var/myfile.sh"if [ -r $file]then echo "File has read access"else echo "File does not have read access"fi#还有一些其他的判断  -w 是否有写权限  -x 是否可执行 -f 是否是一个文件  -d是否是个文件夹 -s文件尺寸是否为0  -e文件是否存在#-------字符串处理#拼接字符串val="testValue"echo "this is a %{val}"##获取字符串长度 采用#echo ${#val}##截取字符串echo ${val : 1 : 2} ##取出a#查找字符串索引echo 'expr index ${val} a'## ----数组array=(1,2,3,4)#或者array[0]=1array[1]=2#读取${array[0]}#获取数组长度${#array[*]}##输出指令 echo  或者 printfprintf "%s test" a ##printf 字符串 参数 与C语言类似###if-else 语句有三种   if .. fi   if..else..fi   if...elif..else..fi###case多分支case a in1) echo "a is 1";;2) echo "a is 2";;esac### for语句for a in a b c ddo   echo ${a}done##whilea=10while [a -gt 1]do    echo "a"    a='expr ${a} - 1'done##until 语句until [a -lt 1] echo "a"done##break命令跳出循环whiledo    echo "select one number"    read aNum    case $aNum in        1|2|3|4) echo "selct ${aNum}"        ;;        *) break    esacdone##continue类似###---shell函数Hello() {    echo "define a function hello"}##./test.sh 这样执行##如果你希望直接从终端调用函数,可以将函数定义在主目录下的 .profile 文件,这样每次登录后,在命令提示符后面输入函数名字就可以立即调用。##函数参数getPrint() {    echo "params1 $1"    echo "params2 $2"}##当参数>=10 要 花括号 ${10}getPrint 1 2##将外部脚本合并到当前脚本 .filename   source filename 两种方式效果相同#!/bin/bash../test.shecho ${a} ##a为test.sh当中脚本
0 0
原创粉丝点击