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
- shell编程笔记一
- shell编程笔记二
- linux Shell编程笔记
- Shell编程笔记
- shell编程学习笔记
- Linux Shell 编程笔记
- linux shell 编程笔记
- Shell 编程-学习笔记
- shell编程笔记
- shell编程学习笔记
- 基础shell编程 笔记
- Linux Shell编程笔记
- shell 编程 学习笔记
- shell编程笔记
- shell编程小笔记
- C shell编程笔记
- SHELL编程学习笔记
- shell编程笔记
- 关于Maven
- Assign Cookies
- 数组之求两个sorted Array的交集
- 国际道教协会黄世真道长为《中华辟谷养生》题写序言!
- java中程序,进程和线程的区别
- shell编程笔记
- Relative Ranks
- openjudge 1.13 27:除以13
- android OKHTTP 的缓存问题
- linux C中调用shell命令和运行shell脚本
- 递归漫谈(一)
- leetcode 28. Implement strStr() 实现strStr()函数
- [PHP] 原生PHP使用递归方式实现数组转换成XML的功能之思考
- 成功的背后