管道
- 上节说到命令的输出,利用输入输出重定向将命令处理对象变成文件。同样,命令输出也可通过linux引入的管道符,将输出转向 变为 另一个命令的输入对象。
如:cat 1.txt|wc -l 统计文件行数。 如:cat /etc/passwd | cut -d ":" -f 1 输出系统用户。
命令任务管理
shell变量
之前章节从shell命令说起,谈到命令历史记录查看,命令简写,命令处理对象的匹配,命令补全提醒,命令输入输出对象,多条命令的调用。 这里,再从命令运行环境说起。 命令在计算机中不是单独独立的存在,它必然需要与操作系统或其它命令进行交互。 它会接受操作系统初始化提供参数,系统变量,或是其它用户自定义参数。 变量的来源可分为,环境变量,预定义变量,命令位置变量,用户自定义变量等。 默认可通过env或set 查看当前环境变量。其中env不包含用户自 定义变量。 常使用环境变量:HOSTNAME,UID,USER,LOGNAME,HOME,PATH,PPID,等。 预定义环境变量:LANG,PS1,等。主要用户保存初始化用户设置等。 命令位置变量:$0,$n,$#,$*,[email?protected],$?,$$,$! 等。 用户自定义变量,设置用户环境变量。
-
自定义环境变量说明:
- 变量名规则:字母数字下划线,首字符不能是数字。
-
变量值定义:
变量值引用分为三类: 一类用单引号引用,表示纯字符,不管字符中是否含有特殊符号。 一类用双引号引用,表示特殊符号会转义。 一类用反引号引用,表示引用的是命令,变量值是命令返回的信息。
- 变量使用范围
默认变量是局域变量,只能在当前环境中使用。 可通过声明变量为全局变量(export a=2),将变量在环境中向下传递。
- 自定义变量取消 unset
- 只读变量 readonly NAME
变量存储位置
变量创建随着系统启动一点点添加,按linux启动过程和用户登录过程,添加变量的文件顺序大致如下: /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
/etc/profile 在加载文件系统前需要处理文件。文件执行时,会从/etc/profile.d目录的配置文件中搜集shell的一些设置。
~/.bash_profile : 每个用户家目录下都有该文件 ,使用此文件输入用户自己的shell信息。当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,并调用执行用户的~/.bashrc 文件。
~/.bashrc : 该文件包含用户自己的bash shell的信息,当登录时以及每次打开新的shell时,该文件被读取。用户定义自己的环境变量,建议写入此文件。
~/.bash_logout :当每次退出系统(退出bash shell)时,执行该文件.
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|