文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux之shell编程简明语法说明...

linux之shell编程简明语法说明...

时间:2010-08-15  来源:lvsmaster

【特殊字符】
空格,空行,TAB都将被忽略,当一行内容太长必须分到两行时用\连接同一行的内容,#用来注释
""内的变量名将自动被替换成变量内容,''中的变量名不被替换,``中的内容将首先被执行,
【执行】
更改该文档属性 chmod 775 scripts.file,然后执行该文档  | 直接以sh scripts.file来执行该文档
【变量的声明】
declare
-a|-f|-i|-r|-x从左至右依次为s数组,函数,整数,只读,透过环境变量输出变量
【变量的初始化】
等号两边不允许有空格,未初始化的变量为null
【数组】
arr=(ab cd ef gf)
$arr默认访问数组第一个元素 ${arr[2]}通过下标访问${arr[@]}|${arr[*]}获取整个数组 ${#arr[@]}获取数组长度 ${#arr[1]}获取第一个元素长度 ${arr[@]:1:2}取1,2个${arr[@]:2}取第2个及后边的${arr[@]::2}取到第二个
push: array=(" ${arr[@]}" $new-element) pop: array=(${arr[@]:0:$((${#arr[@]}-1))}) shift:array=(${arr[@]:1}) unshift:array=($new_element "${arr[@]}")
【函数】
function 函数名()
{
 code
}

【基本的输入输出】
read 读入数据 echo 输出数据
【程序入口参数】
$0表示本身文件名和PHP_SELF相同 $1传入的第一个参数的引用
【逻辑判断】
 1.文档与目录
    -f         档案是否存在
    -d         目录是否存在
    -b         是否为一个[block档案]
    -c         是否为一个[character档案]
    -S         是否为一个socket标签档案
    -L         是否为一个[symbolic link的档案]
    -e         某个东西是否存在
2.文档属性
    -r          是否为可读的属性
    -w        是否为可入的属性
    -x        是否为可执行文档
    -s        是否为非空文档
    -u        是否具有SUID属性
    -g        是否具有SGID属性
    -k        是否具有[sticky bit]的属性
3.文档比较
    -nt         第一个文档比第二个文档新
    -ot         第一个文档比第二个文档旧
    -ef         两个文档为同一个文档(link 之类的文档)
4.程序的逻辑卷标
    -G         侦测是否由GID所执行的程序所拥有
    -O         侦测是否由UID所执行的程序所拥有
    -P         是否为程序间传送信息的name pipe或者FIFO             
【运算符】
1.比较运算符
    =|-eq 等于运算符   !=|-ne不等于运算符 <|-lt小于 >|-gt大于 -le小于等于 -ge大于等于
2.逻辑运算符
   &&与运算  ||或运算 -a双方都成立 -o有一方车成立
3.字符串
    -z空字符串  -n非空字符串
【流程控制】
 1.条件判断
     if...then...fi,case...esac
     在[]当中,只能有一个判别式,不同于其他编程语言(⊙o⊙)哦 
     可以用&& 或者||来组织判别式
     每一个独立的组件之间都要用' '空格隔开,非常重要
     case 变量名 in
       种类方式一)
             程序代码
             ;;
    种类方式二)
        程序代码
         ;;
    种类方式三
       程序代码
         ;;
        *)
           echo "给出提示如同switch的default"
           exit 1 
2.循环执行
     for ((条件一;条件二;条件三)) do ... done
    for variable in variable1 variable2 ....  do ... done ...
    while [condition] || [condition2] ... do ... done ...
        until [condition] && [condition2] ... do ... done ...
    常出现的错误:不支持自加自加++ 和 连写的加减+=/-=   
【调试】
    sh -n|-v|-x 从左至右依次是不执行检测语法错误|在执行之前,先将源代码显示在屏幕上|将使用到的源代码显示到屏幕上

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载