PJzhang:shell基础入门的2个疗程-two

Posted landesk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PJzhang:shell基础入门的2个疗程-two相关的知识,希望对你有一定的参考价值。

猫宁!!!

 

第6节:重定向

标准输入,标准输出,错误输出

输入重定向符号‘<‘

输出重定向符号‘>‘(清空之后再输入),‘>>‘(当前内容不变,在最后一行追加),‘2>‘(如果执行错误,将错误内容打印进去),‘&>‘(无论输出正确错误,全部输出到指定的文件当中)

输入完123,456之后,Ctrl+D,显示2行

技术图片

 

cat /etc/passwd

技术图片

 

 wc -l < /etc/passwd,可以显示文件内容的行数

技术图片

 

 先是写入并设置变量,然后在读取变量的内容

技术图片

创建1.txt,内容是一行123,可以实现从文档中读取数据

技术图片

将变量写入到2.txt文件中

技术图片

 

 追加字符

技术图片

 

 将错误信息输入到3.txt的文件中

技术图片

 

 &>可以将错误的和正确的全部追加到4.txt中,这里是追加,不是覆盖

技术图片

 

 创建一个文件3.sh,内容如下,生成一个a.sh的文件,内容是echo ‘hello bash‘

技术图片

技术图片

 

 第7节:变量赋值

变量的规则:字母数字下划线,开头不能是数字,而且变量要有具体的含义,因为是给人看的

shell变量是弱类型变量

赋值的等号左右两侧不能出现空格

变量名等于变量值

技术图片

 

 let为变量赋值,不常用,了解即可

let a=10+20

命令赋予变量,不常用,意义不是很大

l=ls

命令结果赋予变量,用的很多,$()或者两个反引号,一次执行,结果多次利用

letc=$(ls -l /etc)

变量值有空格等特殊字符,可以使用双引号和单引号包括

实践环节

技术图片

 

双引号,单引号的使用

技术图片

 

第8节:变量引用及作用范围

${变量名}称作对变量的引用,有时大括号可以省略掉

技术图片

 

 如果在变量名之后添加其余字符,需要使用大括号,否则程序会产生误解

技术图片

 

变量赋值,bash是进入子shell,exit是退出子进程,进入父进程

技术图片

技术图片

 

 变量赋值,shell脚本读取变量

技术图片

技术图片

 

前两个不行,后面的两个可以实现读取

 技术图片

 

 子进程获取父进程的变量赋值,export实现

技术图片

 

 unset可以取消变量的赋值

技术图片

 

 

第9节:环境变量、预定义变量和位置变量

环境变量

技术图片

 

 打印出当前变量的内容,PATH是命令搜索路径

技术图片

 

 创建文件5.sh,打印hello bash,显示目录占用的磁盘空间

技术图片

 

 显而易见./表示在根目录之下寻找命令搜索路径,没有root目录

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

技术图片

 

 在root目录之下也可以执行shell脚本

技术图片

 

 当前定义的变量,只对当前的终端生效(任意文件夹位置),关闭终端或者打开新的终端是不生效的,

如果在一个目录对某个变量export处理,那么会一直生效

技术图片

 

 便捷化终端界面

技术图片

 

 set命令

技术图片

 

 $?表示判断上一条命令是不是执行成功,例如ifconfig,$$显示当前进程的pid,$0显示当前名称

技术图片

 

 创建文件6.sh

技术图片

 

 不同运行方式结果不一样

技术图片

 

 创建文件7.sh,可以让字符参数按照顺序显示

技术图片

技术图片

技术图片

 

 修改7.sh

技术图片

技术图片

 

 处理单一字符参数

技术图片

 

 如果内容为空则是下划线

技术图片

 

 技术图片

 

 技术图片

 

可自主判断是不是空的

 技术图片

技术图片

 

 

第10节:环境变量配置文件

常见配置文件,/etc/的都是通用的,~全都在家目录

/etc/profile

/etc/profile.d/

~/.bash_profile

~/.bashrc

/etc/bashrc

系统启动或者终端启动的时候加载的环境变量,可以查看英文介绍的内容

vim /etc/profile,在第一行添加echo /etc/profile

技术图片

 

 vim /etc/bashrc,最上一行添加echo /etc/bashrc,一旦启动就可以显示

技术图片

 

vim ~/.bashrc,最上一行添加echo ~/.bashrc

技术图片

 

vim ~/.bash_profile,最上一行添加echo ~/.bash_profile
技术图片

 

 /etc/profile.d/目录,不同shell类型

技术图片

 

 切换为root用户,su - root,也可以看出它们执行的先后顺序,su root不能加载所有配置文件,每次增加新的路径变量,source可以及时更新状态

 技术图片

 

 

第二个疗程结束。

 

以上是关于PJzhang:shell基础入门的2个疗程-two的主要内容,如果未能解决你的问题,请参考以下文章

PJzhang:python基础入门的7个疗程-two

PJzhang:docker基础知识的2个疗程-one

PJzhang:python基础进阶的10个疗程-two

PJzhang:python基础进阶的10个疗程-one

51CTO学院三周年遇到

51CTO学院三周年偶遇51