shell环境变量与位置变量

shell环境变量与位置变量

1.系统自带的变量

[root@bigdata111 ~]# echo $PWD
/root
[root@bigdata111 ~]# echo $HOME
/root
[root@bigdata111 ~]# echo $GROUPS
0
[root@bigdata111 ~]# echo $SHELL
/bin/bash
[root@bigdata111 ~]# echo $UID
0
[root@bigdata111 ~]# echo $HOSTNAME
bigdata111
[root@bigdata111 ~]# 

env查看的是当前全局变量

[root@bigdata111 ~]# env
XDG_SESSION_ID=44
HOSTNAME=bigdata111
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HADOOP_HOME=/root/training/hadoop-2.7.3
HISTSIZE=1000
SSH_CLIENT=192.168.25.13 53815 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/root/training/hadoop-2.7.3/bin:/root/training/hadoop-2.7.3/sbin:/root/training/jdk1.8.0_144/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
JAVA_HOME=/root/training/jdk1.8.0_144
LANG=en_US.UTF-8
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
SSH_CONNECTION=192.168.25.13 53815 192.168.25.111 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
_=/usr/bin/env
[root@bigdata111 ~]# 

2.shell位置变量

shell位置变量

$# 传递到脚本的参数个数

$* 以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个

$$ 脚本运行的当前进程ID

$! 后台运行的最后一个进程ID号

$- 显示shell使用的当前选项,与set命令功能相同

$? 显示最后命令的退出状态.0表示没有错误,其他任何指表明有错误

实例

[root@bigdata111 shell]# vi 01.sh
[root@bigdata111 shell]# sh 01.sh  1 2
1 + 2 = 3
[root@bigdata111 shell]# cat 01.sh 
#! /bin/bash
SUM=$(expr $1 + $2 )
echo "$1 + $2 = $SUM"
[root@bigdata111 shell]# 

实例2

#! bin/sh
echo "path of script :$0"
#利用basename命令文件路径获取文件名
echo "name of script : $(basename $0)"
# $1 参数1 
echo "parameter 1 : $1"
# $2 参数2
echo "parameter 2 : $2"
# $3 参数3
echo "parameter 3 : $3"
# $4 参数4
echo "parameter 4 : $4"
# $5 参数5
echo "parameter 5 : $5"
# $# 传递到脚本的参数个数
echo "The number of argument passed : $#"
# $* 显示所有参数内容i
echo "Show all argumens : $*"
# $ 脚本当前运行的ID号
echo "Process ID : $"
# $? 回传码
echo "errors : $?" 
执行
[root@bigdata111 shell]# sh 02.sh 1 3
path of script :02.sh
name of script : 02.sh
parameter 1 : 1
parameter 2 : 3
parameter 3 : 
parameter 4 : 
parameter 5 : 
The number of argument passed : 2
Show all argumens : 1 3
Process ID : $
errors : 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值