知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

linux shell笔记

发布时间:2014-09-05 17:12:17作者:知识屋

1、> file  
前面没有命令,shell会创建一个空文件(长度为0个字符),如果文件以前已经存在,其内容就会丢失。 
 
2、一行中可以键入多条命令,命令之间用分好分隔。 
 
3、如果在键入的命令之后跟一个&符号,该命令就发送到后台执行,也就是说,该命令不再占住终端,可以继续处理其他工作。 
 
4、$字符是shell的特殊字符,如果$后跟一个合法的变量名,shell会把它当作在此处用变量所存储的值来替换的指令。表达式可以写为$((expression))。 
 
5、shell变量$#,里面存的是命令行中所键入的参数个数。 
 
6、$*可以引用传递给程序的所有的参数,在参数不确定或者参数数目可变的程序中,通常是很有用的。 
   "$@" 它会被替换成“$n”,这里$@前后的双引号是必不可少的,如果没有,变量$@和$*完全一样。 
 
7、如果要给一个程序传递9个以上的参数,不能用$10、$11的方法来取第10个以及以后的参数,要用${n}这种格式。 
 
8、shell自动将最后所执行命令的退出状态设置到shell变量$?中。 
    $cp phonebook phone2 
    $echo $? 
    $0 
    0操作成功 非0操作失败 
 
9、内部命令test,它用来在if命令中测试一种或几种条件,格式为 test expression。 
    -n string 检测string不为空为真 
    -n string 检测string为空为真 
   test命令的另外一种模式[expression] 
    -eq 等于 
    -ge 大于等于 
    -gt 大于 
    -le 小于等于 
    -lt 小于 
    -ne 不等于 
   文件判断 
    -d  为目录  
    -e  存在 
    -f  普通文件 
    -r  可读文件 
    -s  长度不为0 
    -w  可写文件 
    -x  可执行文件 
    -L  链接文件 
   逻辑判断  
    !   逻辑非 
    -a  逻辑与 
    -o  逻辑或 
 
10、小括号格式 (  ) 
 
11、else结构 
    if command1 
    then 
       command 
    else 
       command 
    fi 
 
12、内部命令exit 它可以立即终止shell程序的执行。exit n  n为希望返回的退出状态,不指定为最后一条命令的退出状态。 
 
13、elif结构 
    if command1 
    then 
       command 
    elif command2 
    then 
       command 
    else 
       command 
    fi 
 
14、case结构 
    case value in 
    pat1)  command 
           command 
        ... 
           command;; 
 
    pat2)  command 
           command 
        ... 
           command;; 
    ... 
    patn)  command 
           command 
        ... 
           command;; 
    esac 
 
    case语句中的特殊字符指定匹配模式: 
        ?表示任一个字符 
        *表示0或若干个任意字符一个 
 
15、-x 调试程序选项 
    sh -x 程序名 程序参数 
 
16、空命令  : 
    其目的是什么也不做,多用于条件语句 
 
17、&&和||结构 
    &&       如果在任何需要shell命令的位置写了 command1 && command2 则先执行command1,如果返回的退出状态为0则执行command2;如果command1返回的退出状态不为0,则跳过command2。 
    ||       结构功能也差不多,区别在于只有当第一条命令的退出状态不为0时才执行第二条命令。 
     
    在这种结构的左右两边都可以用管道线。如果用在左边,检测的是管道线中最后一条命令的退出状态。 
 
18、for命令 
    for var in  word1 word2 ...  wordn/filenames[1-n]/$* 
    do 
        command 
        command 
        ... 
    done 
 
19、while命令 
    while command1 
    do  
        command 
        command 
        ... 
    done 
while 经常与shift命令共同使用。shift命令使位置变量向下移(即$n到$n-1),并且$#递减。 
 
20、until命令 
    until command1 
    do 
        command 
        command 
        ... 
    done 
与while模式相反 
 
21、sleep n 程序挂起n秒 
 
22、break n、continue n从循环中退出 
 
23、PATH 
    PATH是执行命令时shell要搜索的目录,这些目录彼此之间用冒号{:}分隔 
 
24、exec 命令 
    exec program  以新shell代替当前程序 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜