一,汇总

2019-12-23  本文已影响0人  热爱_生活

1. Bash 特性

别名
历史命令

2. 变量

###环境变量
#####默认一些环境变量
#####环境变量文件
  - 系统级别,所用户都生效
      /etc/porfile
        - /etc/porfile.d/*.sh

      /etc/bashrc
  - 个人用户级别,只有当前的用户生效
    $HOME/.porfile
    ~/.bashrc

自定义变量

  a=10
   - 只可以在当前的 shell 环境中使用
     退出当前 shell 就会失效


  export   变量名

  PATH=${PATH}:/home/bin

  export PATH

环境变量和自定义变量的区别
环境变量 可以被 子 shell 继承(向下无限延伸的继承)
**********
bash
export name=shark exit

自定义变量 只可以在当前的 shell 环境中使用
su shark
su - shark

变量名的定义规则
只能包含这些: 字母 a-zA-Z  数字 0-9 下划线  _
不可以用数字开头
不可以使用 Linux 系统的中(bansh)关键字  
变量名要有语义化
  u1  --> username  --> user_name
正则
次数匹配
 . 任意一个
 * 重复前一个 零 到 多个 任意 RE 字符

 ? 有没有媳妇  0 或者 1 个 前一个 RE 字符 
 +  一个以上前一个 RE 字符 

 {n,m}

 [] 中括号内的字符都是普通字符 只能有一个

 示例
   [aB]
   [a-zB]+
   [a-zA-Z]+

 () 分组  括号内的字符是一个整体

 | 或

 示例
   -(abc|a23)
   -a(bc|23)
逻辑结构
-f 存在  普通文件
-d 存在  文件夹
-s 非空文件

! -z   一个变量定义了 非空的值

判断字符串的

==
!=

判断数字

-eq
-ne

-lt
-gt

-le
-ge

$? 是返回上一条命令的执行状态码

${#name}  获取 变量 name 的值的字符串长度 
if  []
then

fi

while true
do
   ...
done


while :
do
   ...
done


while read line
do
   ...
done < /path/to/file


for i in {1..10}
do

done


for i in $(command)
do

done
执行脚本的方式
- bash a.sh
- .  a.sh

  source a.sh
  # 使用当前的 shell  执行 a.sh 中的代码

- ./a.sh
  /path/to/a.sh

  - 条件一 里面最后有声明解释器
    - #!/bin/bash
    - #!/bin/sh
    - #!/usr/bin/env   bash

  - 条件二 chmod  +x a.sh
上一篇下一篇

猜你喜欢

热点阅读