UNIX笔记_基础之bash

来源:互联网 发布:知乎怎么申请专栏 编辑:程序博客网 时间:2024/05/29 02:19

也懒得再说bash是Bourne shell(sh)的改进版本云云等历史了,这里重点记下其使用中细节:

环境变量

每个UNIX进程都有一些与之相关的环境变量,bash也不例外。事实上,bash让用户既能够为内部的bash也能够为传递到其他程序设置环境变量。通过运行"printenv"命令,用户可以得到当前环境变量的一个列表。注意,bash显示变量的方式:名称、等号,然后是变量的值;这也是用户自己设置环境变量的方式——MYVAR=myvalue,然后可以用echo $MYVAR来显示MYVAR这个变量的值,但是其值内容并不会在printenv的输出中出现。可以通过export MYVAR把MYVAR标记传递给你在当前bash会话中启动的程序的变量。

特殊的语法

……如果用户在处理文件名中包含空格的文件时,就会产生一个粘附点(sticking point)。当这么做时,用户必须把文件名用单引号(')引起来,以防止bash认为用户正试图提供两个分隔的选项而不是一个文件名。如ls 'File With Spaces.txt',如果用户漏掉了单引号的话,那么ls将试图显示三个文件的列表 :File 、With和Spaces.txt。按照这种方式添加单引号就叫做“ 为文件名加引号“

用户还可以使用反斜杠(\)来处理这种情形……这叫做“转义字符”

……不过,在bash中,用户还可以使用双引号("),它的作用跟单引号类似,只不过有一个重要的区别:在带有双引号的字符串中可以引用变量,但是在带有单引号的字符串中不能够这么做,换名话说,单引号代表了比双引号更”强“的引用功能。