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:shell基础入门的2个疗程-one
猫宁!!! 在centos7上操作这一切 第1节:什么是shell centos7默认使用shell的bash cat /etc/shells 第2节:linux的启动过程 BIOS(主板,引导介质) ...
- PJzhang:python基础入门的7个疗程-one
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...
- PJzhang:python基础入门的7个疗程-two
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 htt ...
- PJzhang:python基础入门的7个疗程-three
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第七天 ...
- PJzhang:python基础入门的7个疗程-five
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第十三天:代码组织 类是 ...
- PJzhang:python基础入门的7个疗程-six
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第16天:开源模块 sy ...
- PJzhang:python基础入门的7个疗程-four
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第十天 ...
- PJzhang:python基础入门的7个疗程-seven
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第19天:开源模块 数据 ...
- Shell基础入门
目录 Shell基础入门 1.什么是Shell? 2.Shell脚本的结构 3.Shell的变量 3.1.自定义环境变量 3.2.普通变量 3.3.位置参数变量 3.4.状态变量 4.条件测试和比较 ...
随机推荐
- Hadoop-No.5之压缩
Hadoop存储数据时需要着重考虑的一个因素就是压缩.这里不仅要满足节省存储空间的需求,也要提升数据处理性能.在处理大量数据时,消耗最大的是磁盘和网络的I/O,所以减少需要读取或者写入磁盘的数据量就能 ...
- 2017"百度之星"程序设计大赛 - 初赛(A) [ hdu 6108 小C的倍数问题 ] [ hdu 6109 数据分割 ] [ hdu 6110 路径交 ] [ hdu 6112 今夕何夕 ] [ hdu 6113 度度熊的01世界 ]
这套题体验极差. PROBLEM 1001 - 小C的倍数问题 题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6108 (2017"百度之星 ...
- What is Double 11 in China? Is it a famous festival?
"1" means single, 11th, November is quadruple single!! What a tragedy for those single you ...
- 【Python之路】特别篇--RabbitMQ
RabbitMQ 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是一种基于网络的消息传输协议,它能够在应用或组织之 ...
- 计算机HDMI端口与电视机相连
造冰箱的大熊猫@cnblogs 2019/2/27 打算通过HDMI接口将计算机桌面投影到电视机上,结果遇到问题,折腾了好一阵才搞定.现将这些问题记录下来 1.设备环境 计算机:使用Ubuntu 1 ...
- Javascript调试技巧整理
整理一下网上看到的实用调试技巧! 1. 不要使用alert 首先,alert只能打印出字符串,如果打印的对象不是String,则会调用toString()方法将该对象转成字符串(比如转成[object ...
- TensorFlow使用记录 (九): 模型保存与恢复
模型文件 tensorflow 训练保存的模型注意包含两个部分:网络结构和参数值. .meta .meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息 ...
- 24.Python比较运算符(关系运算符
比较运算符,也成关系运算符,用于对常量.变量或表达式的结果进行大小.真假等比较,如果比较结果为真,则返回 True:反之,则返回 False. Python 支持的比较运算符如表 1 所示. 表 1 ...
- vue添加外部js
1.新建节点 const s = document.createElement("script"); 2.设置节点属性 s.type = "text/javascript ...
- Mysql模拟故障恢复案例过程
一.数据库全备,全备脚本如下: [root@leader script]# cat bak_all.sh #!/bin/bash#Date: 2019-12-08#Author: chan#Mail: ...