linux基础学习 004 shell与变量

青春壹個敷衍的年華 提交于 2020-02-27 12:37:19

bash shell的功能

1.命令记忆功能 (history) ~/.bash_history

2.补全命令功能[Tab]

3.命令行别名设置功能 (alias,unalias)

4.作业控制,前台,后台控制

5.程序脚本(shell script)

6.通配符


shell的变量

显示变量: 使用echo $变量名

echo $PATH

自定义变量的设置: 变量=内容;

取消自定义变量: unset $变量名

变量设置注意事项:

1.等号两边不能直接接空格符;

2.变量名,英文,数字;

3.export使自定义变量成为环境变量, export 变量名 ;

4.双引号仍可保留变量内容,单引号将是一般字符.

.

环境变量相关命令:

env/export    //列出所有环境变量

set     //查看所有变量(环境变量+自定义变量)

.

变量键盘读取,数组与声明

read [-pt]    variable        //读取来自键盘输入的变量
-p:后面可接提示符
-t:后面接秒数

declare [-aixr]    variable    //声明变量类型
-a:    数组
-i:    整型,base环境下数组计算,默认最多达到整型.
-x:    将variable变成环境变量,+x,相当于取消操作.
-r:    readonly类型.不能更改.

 数组设置方法:    var[index]=content
 echo    ${var[i]}

变量内容的删除,替换,替代

删除与替换

1.从前面开始删除

# 符合替换文字的最短的那一个

## 符合替换文字的最长的那一个

2.从后面开始删除

% 符合替换文字的最短的那一个

%% 符合替换文字的最长的那一个

举例:    MAIL 为/var/spool/mail/root.
只保留root:    echo    ${MAIL##/*/}
保留目录,root后结尾字母是啥不知道:     echo    ${MAIL%/*}

${变量/旧字符/新字符} / : 第一个旧字符被替换

${变量//旧字符/新字符} // : 所有旧字符被替换

测试与内容替换

username=${username-root}                //若username未设置,将用root赋予;

username=${username:-root}               //若username未设置or为空字符串,将用root赋予;

历史命令:history 查看曾经执行过的命令

!! ->执行上一条命令

!number ->执行第number条命令

!command ->搜索命令名开头为command的,并执行


通配符与特殊符号

  • * 代表0个到无穷个任意字符

  • ? 代表一定有一个任意字符

  • [] 一定有一个括号内的字符(非任意) eg. [abcd]

  • [-] 代表编码顺序内的 eg. [0-9]

  • [^] 代表取反(非...) eg. [^abcd],一定有一个非abcd的其他字符

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!