猫宁!!!

第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的更多相关文章

  1. PJzhang:shell基础入门的2个疗程-one

    猫宁!!! 在centos7上操作这一切 第1节:什么是shell centos7默认使用shell的bash cat /etc/shells 第2节:linux的启动过程 BIOS(主板,引导介质) ...

  2. PJzhang:python基础入门的7个疗程-one

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...

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

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 htt ...

  4. PJzhang:python基础入门的7个疗程-three

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第七天 ...

  5. PJzhang:python基础入门的7个疗程-five

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第十三天:代码组织 类是 ...

  6. PJzhang:python基础入门的7个疗程-six

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第16天:开源模块 sy ...

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

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第十天 ...

  8. PJzhang:python基础入门的7个疗程-seven

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第19天:开源模块 数据 ...

  9. Shell基础入门

    目录 Shell基础入门 1.什么是Shell? 2.Shell脚本的结构 3.Shell的变量 3.1.自定义环境变量 3.2.普通变量 3.3.位置参数变量 3.4.状态变量 4.条件测试和比较 ...

随机推荐

  1. Struct2的简单的CRUD配置和使用

    1. 首先是Struct2使用的jar包,可以在官网下载https://struts.apache.org/   ,其中包只要下面这些就够用了. 或者点击下面链接下载 链接:https://pan.b ...

  2. vue项目 WebViewJavascriptBridge 适配android和ios

    前言 最近在app 原生页面 嵌套 做Vue 的H5,混合开发,当然原生和Vue 交互方面当然用到 WebViewJavascriptBridge 这个东西啦, 当然在用到的时候也有问题,可以参考大佬 ...

  3. systemctl详解

    [root@hadoop01 hadoop]# systemctl --help systemctl [OPTIONS...] {COMMAND} ... Query or send control ...

  4. ASP.NET MVC5入门指南(2)*入门介绍*创建您的第一个应用

    开始吧 首先安装Visual Studio 2017.然后,打开Visual Studio. Visual Studio是一个IDE或集成开发环境.就像使用Microsoft Word编写文档一样,您 ...

  5. 07 saltstack生产实例-mysql主从

    1.服务部署 .服务部署 抽象:功能模块 redis 安装.配置.启动 mysql 安装.配置(my.cnf可以统一 目录默认配置可以统一) master: server_id slave: serv ...

  6. Prism框架中View与Region关联的几种方式

    Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...

  7. react-native 各种插件

    https://www.cnblogs.com/skylor/p/5783824.html

  8. jsp大文件传输断点续传源码

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

  9. confirm 弹出信息

    if(confirm("真的要删除吗?")){ alert("点击了确认按钮"); } else{ alert("点击了取消按钮"); } ...

  10. AtCoder AGC038D Unique Path (图论)

    题目链接 https://atcoder.jp/contests/agc038/tasks/agc038_d 题解 orz zjr神仙做法 考虑把所有\(C_i=0\)的提示的两点连边,那么连完之后的 ...