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变量,环境变量配置文件,管道符的主要内容,如果未能解决你的问题,请参考以下文章