Linux命令行

上一篇 / 下一篇  2013-04-09 14:51:10 / 个人分类:SHELL

1.转义字符
\a    警告 (bell)
\b    退格
\c    禁用拖尾换行(与 -n 选项作用相同)
\f    换页(在视频显示中清空屏幕)
\n    换行
\r    回车
\t    水平制表符
在 bash 中使用反斜杠存在一个小问题。当未使用引号引用反斜杠字符(时),将作为一个转义来表示 bash 本身,用于保留以下字符的字面含义。
$ echo Doubly escaped \n \t metacharacters
Doubly escaped n t metacharacters
这条规则有一个例外:反斜杠后跟一个换行符将致使 bash 合并这两个字符并将字符序列作为一个续行请求处理。这样做可以方便地将比较长的行断开,特别是在 shell 脚本中。
$ echo Backslash \
> followed by newline \
> serves as line continuation.
Backslash followed by newline serves as line continuation.
在您输入包含不匹配引号的行时显示了一个特殊的 提示 (>)。您的输入字符串继续输入到下一行并包含一个换行符
$ echo "A line with a typed
> return"
A line with a typed
return

2.元字符
|、&、;、(、)、<、>
如果希望包含一个元字符作为文本的一部分,那么必须使用引号括起,或是使用反斜杠(\)进行转义
;分号,间隔同一行中的多条语句
$ echo line 1;echo line 2
line 1
line 2
||控制字符
$ echo line 1||echo line 2; echo line 3
line 1
line 3

3.exit 终止一个 shell
若不设置状态值参数,则shell以预设值退出。默认0
SHELL中的exit 0 和 exit 1有什么区别?
当你 exit 0 的时候,在调用环境 echo $? 就返回0,也就是说调用环境就认为你的这个程序执行正确
当你 exit 1 的时候,一般是出错定义这个1,也可以是其他数字,很多系统程序这个错误编号是有约定的含义的。 但不为0  就表示程序运行出错。 调用环境就可以根据这个返回值判断 你这个程序运行是否ok。
如果你用 脚本 a  调用 脚本b ,要在a中判断b是否正常返回,就是根据 exit 0  or 1 来识别。
执行完b后,判断 $? 就是返回值。可使用echo $? 查看退出码

如果您使用圆括号括起命令或命令列表,那么命令或序列将在一个 sub shell 中执行,因此 exit 命令将退出 sub shell,而不是退出您所在的 shell。
$ (echo In subshell; exit 0) && echo OK || echo Bad exit
In subshell
OK
控制符解析:(echo In subshell; exit 0)为真,则判断echo OK,两个都为真,则不运行echo Bad exit
$ (echo In subshell; exit 4) && echo OK || echo Bad exit
In subshell
Bad exit
控制符解析:(echo In subshell; exit 4)为假,&&操作一定为假,则直接运行echo Bad exit
$ echo OK && (echo In subshell; exit 4) && echo ookk || echo Bad exit
OK
In subshell
Bad exit

TAG:

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 10018
  • 日志数: 14
  • 建立时间: 2012-08-08
  • 更新时间: 2013-09-05

RSS订阅

Open Toolbar