猫宁!!!

第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. JAVA之StringUtils工具类

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String ...

  2. 【原】linux下部署web

    本机安装xshell.新建->主机处输入ip->确定,按提示输入用户名和密码 安装jdk(一般Linux上都已经安装好了) 安装tomcat. (1)在tomcat官网上下载tar.gz版 ...

  3. 【JZOJ5801】【2018.8.12省选模拟】circular

    题目大意 分析 把环拆开 线段其实就是区间 对于每个区间,向在TA后面并且b_i最小的区间连边, 然后从每个区间(ai,bi)开始,在保证跳到的区间(aj,bj),bj<=ai+m的情况下向后倍 ...

  4. webuploader如何判断是否上传的是空文件?

    在'beforeFileQueued'事件中可以判断: // 当有文件被添加进队列的时候 uploader.on( 'beforeFileQueued', function( file ) { if( ...

  5. 【Winfrom-Panel】Panel隐藏与显示,自动隐藏菜单, Auto-Hide Menu

    设计界面:2个button,一个panel 当鼠标移动到btnHome时,显示menuPanel 当鼠标离开btnHome时,隐藏menuPanel 当btnPin箭头向左时,menuPanel为自动 ...

  6. html跳转Controller的路径的问题

  7. spring-boot的三种启动方式

    spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一.执行带有main方法 ...

  8. @RequestMapping的简单理解

    @Controller public class ItemController { @Autowired private ItemService itemService; 获取路径参数.../item ...

  9. java 强制类项转换

    origin:http://blog.csdn.net/hikvision_java_gyh/article/details/8957450 编写java程序时,引用变量只能调用它编译时的类项方法.而 ...

  10. 2018 焦作网络赛 G Give Candies ( 欧拉降幂 )

    题目链接 题意 : 给出 N 个糖果.老师按顺序给 1~N 编号的学生分配糖果.每个学生要么不分.要么最少分一个.且由于是按顺序发放.那么对于某个有分到糖果的编号为 i 的学生.则 1~(i-1) 这 ...