bash基础知识

一、输出重定向
输出重定向是指 将本应输出到屏幕的内容重定向输出到文件。
方法是:
1. 命令 > 文件名
2. 命令 >> 文件名
方法1、2表达的内容是将命令的输出送入文件中,其中方法1的作用是以覆盖的方式,把命令的正确输出 输入到指定的文件或设备当中,方法2是以追加的方式,把命令的正确输出输入到指定的文件或设备当中。覆盖指的是新输入的内容会覆盖掉原文件中的所有内容(可以理解为先将原文件中的内容删除,然后将新输入的内容写入该文件),追加是指不改变原文件内容,将新输入的内容追加在原文件内容之后。
需要注意的是:符号>和符号>>是指将正确的命令输出重定向,那怎么讲命令的错误信息重定向呢?我们使用 [命令 2> 文件]来将错误信息以覆盖的方式重定向。同理,以追加的方式重定向错误信息应为[命令 2>> 文件]。一个小插曲:在Linux操作系统中,我们规定数字0表示标准输入,数字1表示标准输出,数字2表示错误输出,所以我们这里错误输出重定向要用数字2。
如果我们想将正确输出和错误输出重定向到同一文件,我们可以使用[命令 > 文件名 2 >&1]或者简单起见直接使用[命令 >& 文件名]

二、 输入重定向
输入重定向是将 文件中的内容输入到命令中。格式如下:

三、 多命令执行符
1. 多命令执行符:;(分号),它的作用是将多个命令顺序执行,命令之间没有任何逻辑关系。举例: [命令1; 命令2; 命令3; 命令4],这四个命令将会顺序执行,不管命令1234是否输入正确,就算错误也执行下一个命令。
2. 多命令执行符:&& (逻辑与),它的作用是当 逻辑与前的命令正确执行时,才执行逻辑与后面的命令,否则,后面的命令将不执行。举例:[命令1&& 命令2 && 命令3 && 命令4],这四个命令必须命令1正确执行才会执行命令2,只有命令2执行才会执行命令3,当其中某一个命令错误执行(错误输出),则后面的命令都将得不到执行。
3. 多命令执行符:||(逻辑或),它的作用是当 逻辑或 前面的命令错误输出时,才会执行 逻辑或后面的命令,否则,后面的命令将得不到执行。举例:[命令1 || 命令2 || 命令3],当命令1错误输出时,才执行命令2,当命令2错误输出时,才执行命令3,当其中某一个正确执行时,后面的命令都将得不到执行。
总结:命令之间的逻辑与和逻辑或表达式也符合“开关特性“。什么是“开关特性“:对于逻辑与表达式,一假则全假,比如表达式[命令1&& 命令2 && 命令3],当命令1为假时(输出错误),则整个表达式就为假,后面的命令2就没有再判断的必要了,命令2将不会被执行,命令3也将不会被执行。对于逻辑或表达式,一真则全真,比如表达式[命令1 || 命令2 || 命令3],当命令1正确执行时,整个表达式就是正确的,命令2就没有再判断的必要了,所以命令2不会被执行,命令3也将不会被执行。

四、特殊字符
1. 特殊字符:”(单引号),是指单引号括起来的是字符串,如果单引号括起来的字符串中有特殊字符,则该特殊字符将丧失其特殊性,退化为普通字符,比如 ‘$val’,如果val是变量且有值,对于命令 [echo ‘$val’]也将输出字符串 ‘$val’而不是val中的值。
2. 特殊字符: “”(双引号),是指双引号括起来的是字符串,如果双引号括起来的字符串中有特殊字符,将保持特殊字符的特殊性。比如对于命令[echo “$val”],如果val中有值,将输出val中的值而不是字符串$val。这里$字符表示的是调用得到变量中的值。
3. 特殊字符: “(反引号),是用来执行系统命令。比如命令[val=`ls`],是指先执行ls命令,并将命令输出的值保存在变量val中。
4. 特殊字符:$(),作用与特殊字符反引号相同,因为反引号与单引号容易混淆,我们一般用这个特殊字符来代替反引号特殊字符。
5. 特殊字符:# (井号),在shell中,特殊字符井号之后的字符串表示注释,在程序运行时不起任何作用。
6. 特殊字符:(反斜杠),用作转义字符。
若有不对之处,敬请指正。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值