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.条件测试和比较 ...
随机推荐
- Struct2的简单的CRUD配置和使用
1. 首先是Struct2使用的jar包,可以在官网下载https://struts.apache.org/ ,其中包只要下面这些就够用了. 或者点击下面链接下载 链接:https://pan.b ...
- vue项目 WebViewJavascriptBridge 适配android和ios
前言 最近在app 原生页面 嵌套 做Vue 的H5,混合开发,当然原生和Vue 交互方面当然用到 WebViewJavascriptBridge 这个东西啦, 当然在用到的时候也有问题,可以参考大佬 ...
- systemctl详解
[root@hadoop01 hadoop]# systemctl --help systemctl [OPTIONS...] {COMMAND} ... Query or send control ...
- ASP.NET MVC5入门指南(2)*入门介绍*创建您的第一个应用
开始吧 首先安装Visual Studio 2017.然后,打开Visual Studio. Visual Studio是一个IDE或集成开发环境.就像使用Microsoft Word编写文档一样,您 ...
- 07 saltstack生产实例-mysql主从
1.服务部署 .服务部署 抽象:功能模块 redis 安装.配置.启动 mysql 安装.配置(my.cnf可以统一 目录默认配置可以统一) master: server_id slave: serv ...
- Prism框架中View与Region关联的几种方式
Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...
- react-native 各种插件
https://www.cnblogs.com/skylor/p/5783824.html
- jsp大文件传输断点续传源码
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- confirm 弹出信息
if(confirm("真的要删除吗?")){ alert("点击了确认按钮"); } else{ alert("点击了取消按钮"); } ...
- AtCoder AGC038D Unique Path (图论)
题目链接 https://atcoder.jp/contests/agc038/tasks/agc038_d 题解 orz zjr神仙做法 考虑把所有\(C_i=0\)的提示的两点连边,那么连完之后的 ...