shell 变量
显示系统变量# env
显示系统环境变量
# set
显示指定变量值
# echo $HOSTNAME
变量定义规则
1、等号前不能有空格
2、变量名必须由大小写字母,数字,下划线组成,不能以数字开头
3、如果变量值中含有特殊字符,必须用单引号。例如:a='cd /home/'b='ls /tmp/'
4、变量值允许调用其他命令的结果,但是必须使用反引号。例如:myvim=`which vim`myhome=`echo $HOME`
5、变量值允许由其他变量叠加其他字符组合组成新的变量。例如:a="$HOME"/test
6、定义全局变量,使用户自定义变量在子shell中继承。例如:export a=1
7、清空变量值
# unset a
自定义登陆系统环境变量,该文件针对所有用户生效,以下path.sh文件名用户可自定义
# vi /etc/profile.d/path.sh
# 文件内容如下:
#!/bin/bash
export PATH=$PATH:/tmp/:/data/bin/
保存配置文件后用命令重新加载,使配置文件即时生效
# source /etc/profile
执行该命令后,系统会自动执行/etc/profile.d/下所有.sh脚本
自定义登陆用户环境变量
# vi ~/.bash_profile用法同上
自定义注销用户环境变量
# vi ~/..bash_logout用法同上
自定义用户别名
# vi ~/.bashrc用法同上
用户历史命令
# vi ~/.bash_history
shell中的特殊符号
*通配符,多位,如:
# ls *.txt
?通配符,一位,如:
# ls ?.txt
#注释行,如:
# #pwd
\脱义符(转义符),如:
# touch \#1.txt
|管道符,如:
# cat install.log | grep samba
&把命令隐藏(后台)执行,如:
# sleep 1000 &
>覆盖重定向,如:
# head install.log > 1.txt
>>追加重定向,如:
# head install.log >> 11.txt
2>错误覆盖重定向,如:
# ls /etc/*.rar 2>1.txt
2>>错误追加重定向,如:
# ls /etc/*.rar 2>>11.txt
<反向重定向,如:
# wc -l < install.log
[]中括号
表示0-9其中一个数字,如:
# ls .txt
等价于
# ls 0.txt 3.txt 9.txt 8.txt
结果将显示当前目录下0.txt3.txt9.txt8.txt
~表示用户家目录,如:
# echo ~
或
# cd ~
;表示把2条命令写在一行,如:
# ls ~/install ; head ~/install.log
$获取变量值,如:
# echo $HOME
$表示上一条命令的最后一个参数,如:
# ls /tmp/ | echo !$
/tmp/
$表示linux文档行结束符,如:
# cat -A ~/install.log
页:
[1]