赞
踩
- 脚本的开头须以 #!/bin/bash 进行声明
- #创建一个脚本文件
- touch start.sh
-r (有读的权限) -w(有写的权限)-x(有执行的权限)
执行脚本过程中,如果遇到没有访问执行权限的情况下,可执行:chmod 777 start.sh(该命令意义:可读可写可执行),修改后文件名称会发生变化
当操作进入目录等操作过程中,提示no such file or directory时,其中一种情况为文件格式非unix,此时需要进行修改,如下:
- vim start.sh (进入脚本)
- :set fileformat (按: 输入 set fileformat 回车显示文件格式:如fileformat=dos则需要进行更改)
- :set ff=unix 或者 set fileformat=unix 回车即可
- :wq 回车(保存并退出)
- v1=hello
- echo $v1 #hello
-
- v2='这里是 v2 变量'
- echo $v2 #这里是 v2 变量
-
- v3="这里是 v3 变量"
- echo $v3 #这里是 v3 变量
-
- v4="引用 v2 变量 => ${v2}"
- v5='引用 v3 变量 => ${v3}'
- echo $v4 #引用 v2 变量 => 这里是 v2 变量
- echo $v5 #引用 v3 变量 => ${v3}
-
- v6=$(command ls)
- echo $v6
注意:
- 变量名称、等号、值中间不允许存在空格的情况
- 单引号为直接展示的内容,可以理解为js中的字符串,无论写什么值,均会原封不动的输出
- 双引号为可以定义引用变量的形式,及通过 ${var} 这样的形式进行变量的嵌套使用
- 双引号中使用变量的过程中,也可以直接通过 $var 的方式进行使用
- 总结:单引号不会解析,双引号会解析变量值
- 使用``或者$()的形式可以将command命令进行赋值使用
- unset 删除变量 unset 变量名
- v1=1
- v2=2
- if [ $v1 -eq $v2 ]; then
- echo '这里是 if 判断分支 a'
- else
- echo '这里是 else 判断分支 a'
- fi
-
- if [ $v1 -eq $v1 ]; then
- echo '这里是 if 判断分支 b'
- elif [ $v1 -lt $v2 ]; then
- echo '这里是 elif 判断分支 b'
- else
- echo '这里是 else 判断分支 b'
- fi
注意:
- 判断条件中 [ ] 内前后必须有空格,否则执行报错
- if 后面需要有空格
- v1=2
- case $v1 in
- 1)
- echo '这里是 case 1'
- ;;
- 2)
- echo '这里是case 2'
- ;;
- *)
- echo '这里是默认执行'
- ;;
- esac
注意:
- 每个case中,必须通过 ;; 进行结束,否则执行异常
- * 相当于时js中的default,默认执行程序
- for n in 1 2 3 4 5; do
- echo "第一个循环 ${n}"
- done
- for n in {0..10}; do
- echo "第二个循环 $n"
- done
注意:
- 第一种循环中,所给定的 循环值 范围中,不可以使用 , 拼接,否则会将范围作为一个完整结果输出;但是如果使用 ’‘ <引号> 进行包裹的情况下,会按序进行循环输出
- 第二种循环中,给定的 循环值 范围中,第一个值为初始值,第二个值为最大阈值,言外之意
- 第二种循环中,循环值 范围中使用 .. 进行连接 <只有两个点>
- v1=1
- while (($v1 < 2)); do
- echo '这里是走进while中的结果'
- v1+=1
- done
注意:
- 需要在执行体中进行相对应的条件判断更改,否则会出现死循环的情况
- function fun() {
- echo "这里是函数执行" $1
- # read -p "请输入数字:" v1
- return $v1
- }
- fun2(){
- echo '这里是函数执行 b'
- }
- fun $1
- echo "这里是上述函数的返回值 " $?
注意:
- 区别于js,方法定义以后,调用该方法,不需要 ()
- 执行脚本上,可在脚本后跟随相对应的参数,于函数中进行获取顺序如下:
- start.sh 123
- 脚本中调用函数 fun $1 <此处的$1为获取脚本执行时传入的位置参数>
- 函数内亦可以使用 $1 进行获取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。