Shell变量、数据重定向和管道(2)

blank can't exist.png


blank can't exist.png

如果变量值有空格,可用双引号" "或单引号' '来包围变量值,但两者是有区别:
双引号" "内的一些特殊字符,可以保持原有的特性,例如:

double quotation marks.png


double quotation marks.png

而单引号' '内的一些特殊字符,仅为一般字符,即纯文本,例如:

single quotation marks.png


single quotation marks.png

如果想显示一些特殊字符($、空格、!等),在字符前面加上用转义字符\

有些时候,变量的值可能来源于一些命令,这时你可以使用反单引号`命令`或$(命令),例如:
使用反单引号`命令`的方式

get information from comand 1.png


get information from comand 1.png

使用$(命令)的方式

get information from comand 2.png


get information from comand 2.png

如果变量想增加变量的值,可以使用$variable累加

append variable value.png


append variable value.png

如果变量需要在其他子进程使用,用export关键字来设置变量为环境变量

export VARIABLE

系统环境变量一般都是字母全部大写,例如:PATH,HOME,SHELL等

如果想取消设置变量的值,使用unset variable命令。注意,变量之前是没有符号$

unset variable.png


unset variable.png

环境配置文件

之前那些设置的环境变量,一旦退出系统后,就不能再次使用,如果想再次使用,必须重新再设置才行。如果想就算退出系统,也能重新使用自定义的环境变量,那怎么办呢?

不用怕,系统提供一些环境配置文件:/etc/profile和~/.bash_profile。/etc/profile是系统整体的设置,每个用户共享,最好不要修改;而~/.bash_profile属于单个用户的设置,每个用户设置后,互不影响和共享。但因为我使用oh my zsh,之前~/.bash_profile设置一些配置都不生效了,但它提供一个环境配置文件.zshrc,所以如果想设置环境变量TEST,只需将export TEST=test添加.zshrc即可。

export variable in zshrc file.png


export variable in zshrc file.png

但在.zshrc文件设置好环境变量TEST后,echo $TEST为空,原因是还没使用source命令来读取环境配置文件。使用source .zshrc命令之后,设置环境变���TEST生效了

source command.png


source command.png

数据重定向 含义

当输入命令行时,一般都有输入参数(standard input),而命令行处理完之后,一般都有输出结果,结果有可能成功(standard output),也有可能失败(standard error),而这些结果一般都会输出到屏幕上,如果你想控制结果输出到文件或以文件作为输入的话,你需要了解数据重定向的分类和符号操作。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14960.html