美文网首页
bash和变量

bash和变量

作者: zxhChex | 来源:发表于2019-08-03 11:34 被阅读0次

    Bash 快捷键

    ctrl +c 中断
    +d 退出
    +l 翻页
    +r 历史
    +u 删除光标前的内容
    +k 删除光标后的内容
    +a 光标移到最前面
    +e 光标移到最后面

    通配符

    • 后面一切字符
      ? 后面一定有一个字符
      [] 代表一个字符
      ^非

    ls ; date
    name=sharkw
    echo name echo "name" 变量还会有
    echo 'name' ' ' 里任何都无意义 强引(date +%F)

    0 1 2
    2>error.txt 1>&2
    cat > catfile <<eof 多行输入
    cat < inputinfo >>inputinfo
    echo "hello" | cut -c 1-

    stty -echo 隐藏命令 stty显示
    alias unalias

    jobs bg fg

    history 查看历史命令
    history -c 清除
    !455 执行455条命令
    !! 上一条命令
    可以透过~/.bash_logout来进行history的记录,并加上date来增加时间参数
    /etc/profile

    /etc/issue 编辑一些简单的硬件及软件版本信息
    /etc/motd 编辑这个文件,会在用户登录之后看到一些欢迎信息

    ulimuit -n 查看进程最大数量多少

    正则表达式 [: :]
    digit 数字
    lower 小写字元
    upper 大写字元
    alpha 任何英文大小写字元
    alnum 任何英文和数字字元
    'the'
    '^the'
    'o{2,5}'

    变量
    重复定义被覆盖
    可用转意符 \ 将特殊符号(如 [Enter], , \, 空格符, 等)变成一般字符 在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号 `命令` 或(命 令)(推荐这种)。那个反引号是键盘上方癿数字键1` 左边那个按键。

    添加变量
    PATH={PATH}:/tmp PATH=/tmp:{PATH}
    export var 改成全局变量
    unset var 取消变量

    env // env 是 environment (环境) 的简写,默认的环境变量
    
    set // 列出系统中所有的变量,包括自定义的变量
    
    export 变量名 // 使自定义的变量 成为 环境变量,环境变量可以被继承
    

    PS1:(提示字符的设置)

    \d :可显示出“星期 月 日”的日期格式,如:"Mon Feb 2"
    \H :完整的主机名称。
    \h :仅取主机名称在第一个小数点之前的名字
    \t :显示时间,为 24 小时格式的“HH:MM:SS”
    \T :显示时间,为 12 小时格式的“HH:MM:SS”
    \A :显示时间,为 24 小时格式的“HH:MM”
    @ :显示时间,为 12 小时格式的“am/pm”样式
    \u :目前使用者的帐号名称,如“dmtsai”;
    \v :BASH 的版本信息
    \w :完整的工作目录名称,由根目录写起的目录名称。
    \W :仅会列出最后一个目录名。
    # :下达的第几个指令。
    :提示字符,如果是 root 时,提示字符为 # ,否则就是 $

    数组
    图片.png

    不输入的默认设置

    read -p "输入日期>:" input_date
    input_date= ${input_date:-$(date +%F)}
    echo "当前日期是:${input_date}"

    // 计算 3 小时之后是几点几分
    date +%T -d '3 hours'

    // 任意日期的前 N 天,后 N 天的具体日期
    date +%F -d "20190910 1 day"
    date +%F -d "20190910 -1 day"

    // 计算两个日期相差天数, 比如计算生日距离现在还有多少天
    d1=$(date +%s -d 20180728)
    d2=$(date +%s -d 20180726)
    echo $(((d1-d2)/86400))

    相关文章

      网友评论

          本文标题:bash和变量

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