Bash shell基本使用和配置

Bash shell基本使用和配置

bash shell 是bourne shell 的升级版,“bourne again shell”.ubuntu的默认shell。

  • 预备知识

#!名为“sha-bang”,shell编程的开始。本质是一个2字节的文件特殊标记,加上这个能够让系统知道这个是一个科执行的脚本。具体参考man magic.这里注意 #!后边的路径必须正确。

执行脚本:(1)可以使用chmod给.sh文件加上可执行权限,然后直接使用 ./script.sh 来执行该脚本。 (2)使用 "bash script.sh"来直接执行。

查看电脑支持哪些shell cat /etc/shells

  • shell变量

  1. 变量的读写

读变量:用 $变量名 或者 ${变量名} 来读取变量的内容

写变量:用 “=”连接变量名和他的内容

  1. 变量设置的规则
  • 以 “=” 相连,但是不能有空格
  • 存在空格的时候,使用双引号“”或者单引号‘’将变量内容结合。双引号内部保留特殊字符的性质,单引号则不保留,一律视为纯文本。
  • 转义字符 \ 针对特殊字符
  • 变量内容有其他的命令提供,则使用$(命令) 或者 命令 注意后的这个是反引号
  • 增加变量的内容 PATH=$PATH:/home/bin
  • 使用export设置为环境变量

uname -r 获取当前linux的内核版本

  • 环境变量的功能

env 或者 export 来查看环境变量的内容

一些常用的变量:

变量名字 意义
PS1 设置命令提示符的名字
$ 目前shell的进程号
关于上一个执行命令的回转码

这里可以使用PS1来修改为自己喜欢的命令提示符。

文件:用户目录下的 ~/.bashrc 环境变量:PS1

我的修改:PS1='\u@\h \A ##:\w$ ' 将这个修改写到~/.bashrc文件下面,以后命令提示符就一直都是自己喜欢的那个样子了。

子进程只继承父进程的环境变量,子进程不会继承父进程的自定义变量。export可以将自定义变量设置为环境变量。

语系变量使用 locale命令来设置和查看

  • 从键盘读取的变量

  1. read
read -pt
-p 后面接提示符,告诉用户输入什么值
-t 后面接等待的秒数。不一直等待用户
  1. declare/typeset 声明变量的类型
-a 将变量声明为数组类型
-i 将变量声明为整数类型
-x 等同于export,将变量声明为环境变量
-r 将变量设置为热爱动力与类型

 

这里需要说明的是,shell中的变量缺省类型是字符串类型的。 declare +x 可以取消其环境变量属性。

 

  • 变量删除,替代与替换
#从头开始
${变量#关键字}    从头开始数据匹配关键词,则将符合关键词最短的删除
${变量##关键词}    从头开始数据匹配关键词,则将符合关键词最chang的删除

#从尾开始
${变量%关键字}    从尾开始数据匹配关键词,则将符合关键词最短的删除
${变量%%关键词}    从尾开始数据匹配关键词,则将符合关键词最chang的删除

#替换
${变量/旧字符串/新字符串}  替换一个
${变量//旧字符串/新字符串}  替换多个

变量的缺省设置

 

 

。。。。正在更新

你可能感兴趣的:(Bash shell基本使用和配置)