shell变量,环境变量配置文件,管道符

Posted

tags:

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

env查看变量    set 也是查看变量的内容 比env强大些

[[email protected] ~]# echo $HOSTNAME  查看变量的名字

binbinlinux

[[email protected] ~]# a=1;b=2

[[email protected] ~]# echo $a $b    可以把两个变量的值输出出来

1 2

变量名字不可以 以数字开头    变量的名字不能用系统命令的名字

[[email protected] ~]# c=‘ls /tmp/‘      举例这个有空格特殊字符 用 ‘‘ 引起来

[[email protected] ~]# echo $c

ls /tmp/

[[email protected] ~]# cyvim=`which vim` 想让他自动获得 这条命令的结果要加反引号

[[email protected] ~]# echo $cyvim

/usr/bin/vim

[[email protected] ~]# a=1

[[email protected] ~]# c="$a"12   用双引号区分开来  不然会默认a是一个变量名字  

[[email protected] ~]# echo $c

112

[[email protected] ~]# echo $a

1

[[email protected] ~]# bash   子shell  

[[email protected] ~]# exit    退出子shell

exit

[[email protected] ~]# export a=1    全局的声明

[[email protected] ~]# bash      进入子shell

[[email protected] ~]# echo $a

1

[[email protected] ~]# vim /etc/profile   把自定义变量加入到配置文件当中

[[email protected] ~]# echo $c

1

[[email protected] ~]# unset  c   取消变量值   unset  

[[email protected] ~]# vim /etc/profile

[[email protected] ~]# vim /etc/profile.d/path.sh   已定义PATH

#!/bin/bash

export PATH=$PATH:/tmp/      全局声明 PATH=$PATH:/tmp/

~

source  /etc/profile               即时生效

[[email protected] ~]# echo $PATH      你会发现多了个 /tmp/

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/

[[email protected] ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/

[[email protected] ~]# 修改 PATH

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[[email protected] ~]# source /etc/profile   生效

[[email protected] ~]# echo $PATH   查看

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/:/tmp/

[[email protected] ~]# echo $PS1

[\[email protected]\h \W]\$

[[email protected] ~]# ps1=‘[\[email protected]\h \W]\$‘   修改PS1

[[email protected] ~]# PS1=‘[\[email protected]\h \w]\$‘

[[email protected] ~]#cd /etc/init.d/

[[email protected] /etc/init.d]#PS1=‘[\[email protected]\h \t\w]\$‘

[[email protected] 18:21:02/etc/init.d]#PS1=‘[\[email protected]\h- \t\w]\$‘

[[email protected] 18:21:18/etc/init.d]#PS1=‘[\[email protected]\h\W]\$‘

[[email protected]]#cd

[[email protected]~]#echo $PS1

[\[email protected]\h\W]\$

vim  /etc/profile.d/umask.sh             修改umask 的配置文件 改成 0023

umask  0023

然后 source  /etc/profile     声明生效

针对用户自己自定义配置文件 环境变量

vim .bash_profile   定义

vim .bashrc  用户的别名



[[email protected] ~]# ls *.txt    通配符 * 可以是多位   可以列出*下面的多位数*.txt

1.txt  c.txt  m.txt  z.txt

[[email protected] ~]# ls ?.txt      ? 以为  可以列出以为.txt

1.txt  c.txt  m.txt  z.txt

#号注释  注释不生效

\脱义符号

[[email protected] ~]# ls #1.txt   之执行了ls的命令   #号把后面注释了

12               install.log             m.txt

[[email protected] ~]# ls \#1.txt       可以把后面的#号脱义掉

ls: 无法访问#1.txt: 没有那个文件或目录

[[email protected] ~]# cat 1.txt |wc -l     把这条命令的结果丢给后面这天命令

460

[[email protected] ~]# echo $PATH             $是一个变量的前缀

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/data/bin:/root/bin

!$ 去在次执行这条命令

[[email protected] ~]# ls 1.txt ;ls p.txt    把两个命令写成一行 用;号分开

1.txt

~   表示用户的家目录

[[email protected] ~]# ls ~    相当于ls /root/

12               install.log             m.txt

[[email protected] ~]# sleep 10 &                &把一个命令丢到后台去

[1] 1701

[[email protected] ~]# jobs     正在运行中

[1]+  Running                 sleep 10 &

[[email protected] ~]# jobs

[1]+  Done                    sleep 10

[[email protected] ~]# >   重定向 >>追加重定向  2> 错误重定向  2>>错误追加重定向

[[email protected] ~]# wc -l <1.txt      < 反重定向

460

[[email protected] ~]# ls [1-9a-zA-Z].txt    中括号表示范围  比如1-9 可以全部列出来

1.txt  2.txt  c.txt  m.txt  z.txt


本文出自 “11325852” 博客,请务必保留此出处http://11335852.blog.51cto.com/11325852/1982678

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

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

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

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

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

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

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