美文网首页程序员程序员的日常Shell
《Linux Shell脚本攻略》-1小试牛刀(1)

《Linux Shell脚本攻略》-1小试牛刀(1)

作者: immiki | 来源:发表于2015-09-02 20:34 被阅读332次

    《Linux Shell脚本攻略》读书笔记1

    • Shell是系统用户界面,提供用户与内核进行交互操作的一种接口。Shell是一种命令解释器,它解释用户输入的命令并把他们送到内核
    • Bash是目前多数GNU/Linux系统默认的shell环境
    • sudo (Super user do) sudo <command><arguments>
    • shebang: #! (sharp/hash: #; bang: !)
    • 当启动shell时,它一开始会执行一组命令来定义诸如提示文本、颜色等各类设置。这组命令来自位于用户主目录中的脚本文件~/.bashrc。
    • 在Bash中,每个命令或是命令序列是通过使用分号或换行符来分隔的。
    • echo是用于终端打印的基本命令:
      • echo xxx 不能打印;
      • echo 'xxx' 不能打印变量
      • echo “xxx” 不能打印特殊字符,需要转义
    • printf 格式化输出,需要手动添加换行,%-5s:
      • - : 左对齐
      • 5 : 输入最小宽度
      • s : 输出字符串
    • echo "\e[1;31m xxxx \e[0m": \e[1;31将颜色设为红色,\e[0m将颜色重新置回。
    • 在bash中,每个变量的值都是字符串
    • 在一些特殊的变量会被shell环境和操作系统环境用来出储存一些特别的值,这些变量就被称为环境变量。
      cat /proc/$PID/environ
    • pgrep命令获得进程id:
      pgrep gedit # 获取gegit的进程ID
    • tr(translate)命令,简化sed工具:
      • 主要功能:①替换②删除。
      • tr '\0' '\n' #用'\n'替换'\0'
      • tr [option] ["string1"] ["string2"] < file:
        • 默认选项 - 替换操作
        • c - 将string1字符的补集替换为string2
        • d - 删除
        • s - 重复出现,只保留一个
    • 变量赋值 var=value
      • 如果value不包含任何空白字符(例如空格),那么它就不需要使用引号进行引用,否则必须使用单引号或双引号
      • 注意=两遍不要留空格: val=value是赋值,val==value是相等操作
    • 环境变量是未在当前进程中定义,而从父进程中继承而来的变量。
    • export命令用来设置环境变量。
    • PATH通常定义在/etc/environment/etc/profile~/.bashrc中。
    • ${#变量} 是变量长度
    • $SHELL or $0 是所用shell
    • UID是一个重要的环境变量,可以用来检查当前脚本是以超级用户还是以普通用户的身份运行的。
    • PS1环境变量用来定制提示文本。默认的shell提示文本是在文件~/.bashrc中的某一行。
    • chsh -s /bin/zsh #修改SHELL
    • eval 首先扫描名两行进行所有的置换,然后再执行该命令。
      prepend() { [ -d "$2" ] && eval $1=\"$2$\{$1:+':'\$$1\}\" && export $1 ; }
      其中,${parameter:+expression} 如果parameter有值且不为空,则使用expression的值
    • 反引号``和$()功能相似。解释命令行,开子shell执行命令,然后用结果替换。反引号以及其中的命令。
    • 在Bash shell环境中,可以要利用let、(( ))和[ ]执行基本的算术操作,在进行高级操作时,expr和bc这两个工具也会非常有用。
    • bc是一个用于数学运算的高级工具。
      • echo "scale=2;3/8" | bc #0.37 scale设定小数精度
      • echo "obase=2;$no"| bc obase结果进制为2进制
      • echo "obase=10;ibase=2;$no | bc"将2进制数转化为十进制

    相关文章

      网友评论

        本文标题:《Linux Shell脚本攻略》-1小试牛刀(1)

        本文链接:https://www.haomeiwen.com/subject/kdxlcttx.html