Shell 十三问整理
2016-04-10 13:38
393 查看
在chinaunix看了网中人的shell 十三问,做了一些整理或者复制
原文地址:http://bbs.chinaunix.net/thread-218853-1-1.html
awk ‘{print $0}’ 1.txt 中的{}被解释成command meta
$: 作变量或运算替换(请不要与 shell prompt 搞混了)。
>: 重导向 stdout。
<: 重导向 stdin。
|: 命令管线。
&: 重导向 file descriptor ,或将命令置于背境执行。
( ): 将其内的命令置于 nested subshell 执行,或用于运算或命令替换。
{ }: 将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围。
; : 在前一个命令结束时,而忽略其返回值,继续执行下一个命令。
&& : 在前一个命令结束时,若返回值为 true,继续执行下一个命令。
|| : 在前一个命令结束时,若返回值为 false,继续执行下一个命令。
!: 执行 history 列表中的命令
功能:拆解command line的每个单词
功能:告诉shell可以执行命令行了
IFS和CR都算是meta吧。。。。猜测
Shell执行命令,通过IFS进行分割,是命令就执行
原文地址:http://bbs.chinaunix.net/thread-218853-1-1.html
基础名词
1. 命令行(Command Line)
组成:Literal + MetaLiteral
就是一些字母单词,组成命令的Meta
特殊保留字符,对于shell有特殊意义重点
meta有分command meta和shell meta举例
awk {print $0} 1.txt 这里{}会被解释成shell meta。awk ‘{print $0}’ 1.txt 中的{}被解释成command meta
常见Meta
=: 设定变量。$: 作变量或运算替换(请不要与 shell prompt 搞混了)。
>: 重导向 stdout。
<: 重导向 stdin。
|: 命令管线。
&: 重导向 file descriptor ,或将命令置于背境执行。
( ): 将其内的命令置于 nested subshell 执行,或用于运算或命令替换。
{ }: 将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围。
; : 在前一个命令结束时,而忽略其返回值,继续执行下一个命令。
&& : 在前一个命令结束时,若返回值为 true,继续执行下一个命令。
|| : 在前一个命令结束时,若返回值为 false,继续执行下一个命令。
!: 执行 history 列表中的命令
2. IFS(Internal Field Seperator)
产生:空格键(Space),表格键(Tab),回车键(Enter)功能:拆解command line的每个单词
3. CR(Carriage Return)
产生:回车键(Enter)功能:告诉shell可以执行命令行了
单引号和双引号的区别
单引号(hard quote)
所有meta特殊字符会被关闭特性双引号(soft quote)
大部分meta特殊字符会被关闭特性,但有些被保留,如$反斜线(escape)
只有紧接在反斜线\后的meta特性被关闭总结
Shell通过IFS对命令行中的字符串拆分执行IFS和CR都算是meta吧。。。。猜测
Shell执行命令,通过IFS进行分割,是命令就执行
相关文章推荐
- PART 1: Shell 提示符的实现
- android入门之使用adb shell 查看data目录下的SQLite数据库
- shell脚本学习笔记(符号)
- 如何写一个shell脚本并运行
- Shell函数
- 创建交互式shell脚本对话框
- 简单快速的上手使用gitbash
- shell 之 for 循环
- shell脚本学习笔记(shell脚本实现文件的创建)
- 后台拿webshell方法(2)
- shell之lsof(list open file)
- bash命令行快捷键
- 在Ubuntu的shell中启动eclipse且让它后台运行
- spark shell ,在Windows上build Spark
- 栈溢出笔记1.3 准备Shellcode
- shell bash判断文件或文件夹是否存在
- 统计文本中某值字段数量-cat-awk-sort-uniq-c
- xshell为什么连接不上ubuntu---ould not connect to 'ip' (port 22): Connection failed.
- xshell利用linux rz sz 命令上传、下载文件
- bash: sqlplus: command not found 解决方法