程序员人生 网站导航

shell学习笔记之一(shell内建命令)

栏目:服务器时间:2015-07-06 09:58:51
注释:
    #
    注意:shell 文件开头的#!/bin/bash 里的#不是注释
运行:
    1、bash shell.sh
    2、chmod +x shell.sh -> ./shell.sh
    3、添加到PATH 变量中
    4、. ./shell.sh
排错:
    1、语法毛病
        运行时会有提示
    2、逻辑毛病
        使用echo 打印,
        sleep number:睡眠number 秒,下降循环速度
        使用bash -x 来调试shell 脚本
        第3方工具:bashdb
内建命令:
    1、判断1个命令是不是是内建的:type
    2、履行程序:“.”,即便文件没有履行权限,也能够使之履行
        例:. ./HelloWorld.sh
        等价于source:source HelloWorld.sh
    3、别名:alias
        a、#alias
            查看当前shell 别名
        b、#alias mycommand=’command’
        c、为了保存alias,可以在家目录的.bashrc 文件中添加
    4、删除别名:unalias
    5、任务前后台的切换:bg,fg,jobs
    6、改变目录:cd
    7、声明变量:declare、typeset
        declare 命令的参数:
            -i:声明变量是整型类型
            -r:声明变量是只读类型
            -a:声明数组
            -f/F:显示脚本中定义的函数和函数体
            -x:声明1个变量作为脚本的环境变量而被导出
    8、echo
        -n:不打印换行符
        -e:制止解释打印反斜杠转义的字符
        例:
            echo “
” 结果是

            echo -e “
” 结果是1个空行
            echo:换行
    9、break
        当有数字参数number(必须大于1)时,表示跳出几层循环
    10、continue
        当有数字参数number(必须大于1)时,表示跳出几层循环
    11、eval
        将所跟的参数作为Shell 的输入,并履行产生的命令
    12、exec
        履行命令来取代当前的shell,典型利用是与find 1起
            内建命令exec 其实不启动新的shell,而是用被履行的命
        令替换当前的shell 进程,并且将老进程的环境变量清算掉,
        而且exec 命令后的其他命令将不再履行。
        例:
            a、列出系统中所有的以.conf 结尾的文件
                find / -name “*.conf” -exec ls -l {} ;
            b、删除系统中所有的临时文件爱你
                find / -name “*.tmp” -exec rm -f {} ;
    13、退出exit
    14、使变量能够被子shell 辨认export
    15、kill
           发送信号到指定的PID 或进程
           linux 中的3种进程:Shell 交互进程,批处理进程,系
        统守护进程。
           杀死进程
    16、整数运算let
        例:
            let I=2+2
            let j=5⑷
            let k=2*5
            let l=17/5
            let m=15%7
            let n=2**4 -->n=2^4=16
            let i++
            let j--
            let i+=10
            let j-=10
    17、显示当前工作目录pwd
    18、声明局部变量local
    19、从标准输入读取1行到变量:read
    20、return
    21、shift,向左移动位置参数
        位置参数:
        $1...$N:顺次表示第N 个参数
        $@或$*:表示所有的参数
        $0:表示脚本本身
        $#:表示参数的总数
    22、显示并设置进程资源限度ulimit
    23、测试test
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐