美文网首页
bash编程-Shell基础

bash编程-Shell基础

作者: yuanzicheng | 来源:发表于2017-04-28 23:26 被阅读29次

    1. Shell脚本执行方式

    • 直接运行,需要在脚本文件头部指定解释器,如#!/bin/bash
    ./myshell.sh
    
    • 运行时指定shell解释器
    bash myshell.sh
    

    2. Shell命令历史

    • 查看所有历史命令
    history
    
    • 执行上一条历史命令
    !!
    
    • 执行历史命令中第n条命令
    !n 
    
    • 执行历史命令中最后一个以"str"字符串开头的命令
    # 不建议使用,尤其是创建、修改、删除文件这样的操作
    !str
    
    • 在历史命令中搜索匹配命令
    快捷键:control + r
    

    3. 别名

    注意:通过命令方式设置别名只对当前shell有效,希望永久生效需要修改~/.bashrc文件

    • 查看别名
    alias
    
    • 定义别名(尽量不要与原始命令重名,避免引起不必要的麻烦)
    alias 别名='命令'
    
    • 删除别名
    unalias 别名
    

    4. 快捷键

    • control + a
      光标移动到命令行开头
    • control + e
      光标移动到命令行结尾
    • control + c
      终止当前命令
    • control + u
      删除(剪切)光标之前的命令
    • control + k
      删除(剪切)光标之后的命令
    • control + y
      粘贴control+u或control+k剪切的内容
    • control + r
      在历史命令中搜索匹配命令
    • control + d
      退出当前终端
    • control + s
      暂停屏幕输出
    • control + q
      恢复屏幕输出

    5. 输入输出与重定向

    参考:IO重定向与管道

    6. 多命令顺序执行

    • ;
      命令之间无任何逻辑关系
    • &&
      逻辑与:前面的命令执行成功,后面的命令才会执行
    • ||
      逻辑或:前面的命令执行失败,后面的命令才会执行

    7. 通配符

    • ?
      匹配一个任意字符

    匹配0个或多个任意字符

    • [xyz...]
      匹配括号中的一个字符(如:[abc]表示匹配a或b或c)
    • [x-y]
      匹配括号中的范围,常见格式如下
    [a-z]:一个小写字母( x )
    [A-Z]:一个大写字母( x )
    [a-z0-9]:所有小写字母和数字( x )
    [0-9]:0-9所有数字
    [[:upper:]]:所有大写字母
    [[:lower:]]:所有小写字母
    [[:alpha:]]:所有字母
    [[:digit:]]:0-9所有数字
    [[:alnum:]]:所有的字母和数字
    [[:space:]]:所有空白字符
    [[:punct:]]:所有标点符号
    
    • [^xyz]
      匹配指定范围外的任意单个字符,常见格式如下
    [^[:upper:]]:非大写字母
    [^[:lower:]]:非大写字母
    [^0-9]:非数字
    [^[:alnum:]]:非字母和数字
    

    8. 特殊符号

    • ''
      单引号中的所有特殊符号都没有特殊含义
    • ""
      双引号中的所有特殊符号都没有特殊含义(除$、``、\ )
    • `命令`
      反引号表示命令结果
    • $(命令)
      表示命令结果,同`命令`(建议使用这种,避免``与''看不清)
    • $
      $+字符串表示变量,如$PATH
    • **\ **
      转义符

    相关文章

      网友评论

          本文标题:bash编程-Shell基础

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