Linux学习(四)

专题:shell与bash

1、内置命令 type

查看命令是bash命令还是非bash命令

比如

Linux学习(四)

或者列出所有有关的

Linux学习(四)

但是对于cd

Linux学习(四)

指出这是一个shell内置命令。

2、查看变量

Linux学习(四)

或者

Linux学习(四)

再看看MAIL和HOME

Linux学习(四)

Linux学习(四)

设置一个变量。比如,myname=wang66

Linux学习(四)

变量内容是不可以带有空格的,除非使用引号

Linux学习(四)

追加内容使用冒号

Linux学习(四)

取消变量:unset命令

Linux学习(四)

单引号与双引号的区别:

单引号内的变量被解释成字符串,双引号的变量被解释成变量内容。

3、查看环境变量

evn  (environment的缩写)

Linux学习(四)

输出了所有的环境变量,包括MAIL PATH之类的。

5、生成一个随机数(娱乐)

Linux学习(四)

这里生成了一个随机数(我还乘以了102),打印出来

6、查看所有变量(已有的)

Linux学习(四)

看,其中就包含我们刚才随机出来的n。

6、把自定义的变量转换为环境变量。

export 变量名

或者单独一个export显示出所有变量

Linux学习(四)

看到我的随机数n了吗?

7、读取一个变量(键盘输入)

read指令

用法 read -p “一些提示” -t ‘秒数’  变量名

Linux学习(四)

8、声明一个变量

使用declare(声明的意思)来声明

比如:

declare -i number1=1024 //声明一个整数

declare -x number2=2048 //声明一个外部(环境)变量number2

declare -r number3=512//声明一个只读变量(只能设置但不能修改)

这一串由以下示例显示

Linux学习(四)

声明一个数组是 -a

Linux学习(四)

我们可以很明显的看到linux数组是动态数组,并且被忽略的都是“”什么也没有。

9、用户限额

Linux学习(四)

在root账户下,是没有限制的,可以随意使用任何资源。

 

10、变量内容的修改

Linux学习(四)

#表示删除后面的变量(*代表通配符)

意思是and以及前面的内容全部删除。

Linux学习(四)

删除第一个空格之前的所有内容

 

但是要记住他会删除最短的那个字符串。比如最短匹配有* (空格)的是Money

但是如果使用两个#,

Linux学习(四)

直接删除最长匹配。

要注意这个是从前向后删除。

从后向前删除是%。

比如

Linux学习(四)

把:之后的内容全部删除。

同样地,%%是最长匹配的从后往前删除。

然后是替换

Linux学习(四)

可以这样记忆  变量名/要替换的部分/新的部分

而且要记住这样只能替换一个

如果要替换全部,就是:变量名//要替换的部分/新部分

Linux学习(四)

变量名-字符串 模式是一个测试表达式。

比如

Linux学习(四)

变量名如果是存在的,那么输出变量内容。否则输出后面的字符串。

空性测试。

就是在-前面加一个:,因为一个变量如果是空的,那么依然看不到输出,但是这种情况下就可以

变量名:-sometring 当输出空时就可以看到somestring

Linux学习(四)

就像上面那样,non是一个空串。

与此相像的还有+号。

只要变量被声明过就能显示上字符串,如果带:就是非空时添加。

?是带有测试性质的表达式,如果变量不存在,就显示附加的字符串。

Linux学习(四)

11、别名

通过alias可以显示出所有的别名

Linux学习(四)

我们可以设置一个别名

比如吧la设定为 ls -al

Linux学习(四)

去掉一个别名,把刚才的la去掉。

Linux学习(四)

历史命令

Linux学习(四)

显示了最近使用的一些命令

利用历史消息可以快捷的使用命令

比如!273 是执行最近使用的第273个命令(alias)

Linux学习(四)

执行最近一条:!!

Linux学习(四)

执行最近的以a开头的命令

Linux学习(四)

13、设置终端机

stty命令

Linux学习(四)