shell 编程2 运算符和配置文件

declare 命令用法:

  1. declare声明变量类型 :declare [+/-][选项] 变量名

    选项:
    1. -p:显示指定变量的被声明的类型

    2. -r:将变量声明为只读变量

    3. -x:将变量声明为环境变量(export 执行的就是此命令)

    4. -i: 将变量声明为整数型(integer)

    5. -a: 将变量声明为数组型

    6. +:取消变量的类型属性

    7. -:给变量设定类型属性

  2. 变量声明为数值型

    1. declare -i [变量名]

  3. 变量声明为数组变量

    1. 变量名[下标]=数值

    2. declare -a 变量名[下标]=变量值

      PS:只要添加下标就是数组变量

      arr[0]=0  //下标从0开始
      arr[1]=1
      
      访问:
          echo ${arr[0]}
          echo ${arr[*]}  //访问数组所有元素
  4. 声明环境变量

    1. 与export作用相似,但其实是declare命令的作用。

    2. declare -x 变量名=变量值

  5. 声明变量只读属性

    1. declare -r test

      PS:只读属性会让变量不能修改,不能删除,不能取消只读属性。

  6. 查询变量的属性

    1. 查询所有变量的属性: declare -p

    2. 查询指定变量的属性:declare -p [变量名]

2 变量运算:

使用 $(( num1 + num2 ))

echo $((1+3))   //4

3 配置文件

登陆时的配置文件:

当 /.bash_profile 或 /.bashrc 文件丢失时,/ect/bashrc不会进行配置文件的读取,此时命令提示符为Linux内核默认的命令提示符,可能为bash5.2 或者其他,解决方法为:从其他服务器拷贝一份。

以根目录为开头的所有用户都进行加载,以家目录加载的,会加载用户各自的目录。
/ect/profile   //最先加载
/ect/profile.d/*.sh

~/.bash_profile
~/.bashrc
/etc/bashrc

/etc/profile 定义的变量:

定义一下变量:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
USER : 当前用户
LOGNAME:
MAIL: 当前用户邮箱
PATH:
HOSTNAME:
usmask: 定义系统丢弃的默认权限。
HISTSIZE :历史命令条数
umask是系统用来控制文件和目录创建时的默认权限的,系统定义默认创建文件最高权限为666,目录最高权限为777。

用umask命令来查看系统默认umask的设定值
例如:创建文件 aa.txt -rw-rw-rw-  umask 为 022 即 --w--w--w-r
将相同的抵消,最后是 -rw-r--r-- 

加载/ext/profile.d/*.sh的文件

/etc/bashrc:定义了PS1变量 以及别名,命令提示符。

其他配置文件:

~/.bash_history : 历史命令的存储的地址

~/.bash_logout : 用户退出登录进行的操作。

/etc/motd : 修改欢迎语信息

猜你喜欢

转载自blog.csdn.net/qq_39158142/article/details/83278265