编辑
2023-02-07
小白笔记
0

目录

source命令
查看历史命令
命令行基本用法
输入输出重定向
重新定义数据输入和输出方法
错误输出到了正确输出的文件里
分别输出
shell脚本

单引号 字符串视为普通字符串(强引号)

双引号 除 $ ,\ ,单,双引号,反引号等任然作为特殊字符,其他为普通字符串

``反引号视为命令行,先执行,执行结果作为文本替换

bash
# 注释 \ 转义字符,特殊字符转一般字符 | 链接两个命令 ; 分割多个命令 ~ home目录 $ 变量前需要使用 & 将命令放到后台执行(放在命令后) : 分割路径

source命令

source在当前shell环境下读取并执行shell脚本文件中的命令

source命令可以使用.来替代 source test.sh = . test.sh

使用bash filename以及./filename这样的方式执行脚本,会建立子shell(集成父shell环境变量)

使用source命令执行脚本,不会建立一个子shell,所有新建改变变量在当前shell生效

查看历史命令

history #查看历史所有命令

!id号 执行history id的命令

命令行基本用法

命令行续写 用反斜杠 \ 将一个命令行持续到下一行

输入输出重定向

输出重定向 > 和>>

bash
$ echo "hello" > 1.log #不追加输出,会覆盖文件 $ cat 1.log hello $ echo "hello world" >> 1.log #追加内容用>> $ cat 1.log hello hello world
重新定义数据输入和输出方法

执行一个shell命令,通常打开三个标准文档

标准设备名称文件描述符含义设计典型设备使用方法
STDIN0标准输入键盘<
STDOUT1标准输出显示器1>
STDERR2标准输出显示器2>
错误输出到了正确输出的文件里
bash
2>&1 #错误输出到了正确输出的文件里 &># 错误输出到了正确输出的文件里

/dev/zero dd 命令,创建大的空文件

/dev/null 黑洞数据,丢入就消失

重定向符号说明
<实现输入重定向
> 或 >> 等同于1> 或1>>实现输出重定向,把命令输出到一个文件上,而部署输出到屏幕
2> 或 2>>实现标准错误覆盖输出重定向或标准错误追加输出重定向 例如:ls -l >ls.txt 2>ls.error
2>&1将标准错误重定向到标准输出 ls -l 1>ls.txt 2>&1 #1代表1>
/dev/null黑洞装置,表示为空,即不保存输入输出 ls -l 1>ls.txt 2>/dev/null ls -l >/dev/null 2>&1
&>将标准输出和标准错误输出重定向到同一文件,1>2>结合到一起去 tree &>tree.log
分别输出
bash
命令1 1>1.txt 2>2.txt 正确命令放在1.txt,错误内容在2.txt
shell脚本

本文作者:墨洺的文档

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!