八管道符和作业控制shell变量环境变量配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八管道符和作业控制shell变量环境变量配置文件相关的知识,希望对你有一定的参考价值。

管道符、作业控制

技术分享图片

管道符 | :把前面命令的的输出交给后面命令的输入

技术分享图片


暂停任务:ctrl+ z  (临时暂停,仍到后台 ,调回前台 fg


jobs 可以把暂停的任务列出来。

技术分享图片

fg +id号就能把相应暂停任务调回前台。 fg 2


bg 把任务放到后台


sleep 1000 暂停1000秒

sleep 100 &  加上&可以把运行任务如直接放到后台执行

 shell变量

技术分享图片

1.命令 env 列出系统预设的全部系统变量(变量都是大写字母)

技术分享图片

2.命令 set 可以查看到系统预设的变量,也可以看到用户自定义的变量。


3.自定义变量:

 变量名的规则:字母、数字及下划线,首位不能为数字

技术分享图片

4.变量值有特殊符号时需要用单引号括起来

技术分享图片

技术分享图片采用双引号会出错)

使用双引号扩起一个变量时,它会进行解释变量的值

技术分享图片


5.全局变量

技术分享图片

怎么把一个自定义的变量变为全局变量?

(1)export 变量名=变量值

   export cansheng=handsome

这样定义的变量就是全局环境变量

这里的全局变量是向下关系的,就是在当前终端(bash)生成一个全局变量,当我们在打开一个子shell(执行命令bash)时,输出这个全局变量是可以的。但是在子shell下生成一个全局变量,在父级打开该全局变量则无效。关系不可逆转

         

           环境变量配置文件(工作中不常用)

技术分享图片


1./etc/profile 和 /etc/bashrc 尽可能不去修改

要修改的话就修改用户家目录下的profile和bashrc

用户家目录下的profile和bashrc 是 .bash_profile  或者是 .bashrc

vim .bash_profile (这里是当前用户下的 .bash_profile)

技术分享图片技术分享图片

技术分享图片

技术分享图片

(/etc 是系统下的profile是针对所有用户的)

只要执行一个shell脚本就会自动加载bashrc


2.PS1 在/etc/bashrc下定义

PS1和我们命令行中前面的那部分有关

技术分享图片


技术分享图片

PS1='[\[email protected]\h \W]\$' 可以改:如PS1='《\[email protected]\h \W>\$'

技术分享图片

拓展

1.<

【.bash_profile 与 .bashrc 的区别】
.bash_profile is executed for login shells, while .bashrc is executed for interactive non-login shells.


【login shell 与 non-login shell 的区别】
1、当你直接在机器login界面登陆、使用ssh登陆或者su切换用户登陆时,.bash_profile 会被调用来初始化shell环境
Note:.bash_profile文件默认调用.bashrc文件
.bash_profile中有如下内容
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
2、当你不登陆系统而使用ssh直接在远端执行命令,.bashrc 会被调用
3、当你已经登陆系统后,每打开一个新的Terminal时,.bashrc 都会被再次调用。

若要配置环境变量之类,最保险是写在 .bashrc 文件中。因为不管是登陆还是不登陆,该文件总会被调用!


>


2.简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html

<  

有时候我们需要对线上用户操作记录进行历史记录待出现问题追究责任人,,但Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?本文教你一招
 
1.mkdir -p /usr/local/domob/records/
 
  chmod 777 /usr/local/domob/records/
 
  chmod +t /usr/local/domob/records/
 
2.vi /etc/profile 在最后添加下面的代码
 

if [ ! -d  /usr/local/domob/records/${LOGNAME} ]
 
then
 
mkdir -p /usr/local/domob/records/${LOGNAME}
 
chmod 300 /usr/local/domob/records/${LOGNAME}
 
fi
 
export HISTORY_FILE="/usr/local/domob/records/${LOGNAME}/bash_history"
 
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

>






以上是关于八管道符和作业控制shell变量环境变量配置文件的主要内容,如果未能解决你的问题,请参考以下文章

管道符和作业控制,shell变量,环境变量配置

管道符和作业控制 shell变量 环境变量配置文件

管道符和作业控制/shell变量/环境变量配置文件

管道符和作业控制shell变量环境变量配置文件

管道符和作业控制shell变量环境变量配置文件

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件