失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux学习之Shell编程——Bash变量——环境变量

Linux学习之Shell编程——Bash变量——环境变量

时间:2018-11-26 00:08:16

相关推荐

Linux学习之Shell编程——Bash变量——环境变量

1、环境变量,一部分是系统自定义的,还有一部分是用户添加的,用户可以改变其值

》环境变量是什么?

用户自定义变量只在当前的shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。。

2、设置环境变量

》export 变量名=变量值 (注意等号两边不能加空格)

#申明变量

export 表示申明

1)如何定义子shell?

在当前shell中 直接通过另一个shell名称,即可新启用一个shell,这就是子shell,

在该子shell中,通过输入exit 即可退出当前子shell

2)如何查询当前shell?

└─wpa_supplicant[root@localhost ~]# [root@localhost ~]# csh[root@localhost ~]# bash[root@localhost ~]# csh[root@localhost ~]# bash[root@localhost ~]# pstreeinit─┬─NetworkManager├─abrtd├─acpid├─atd├─auditd───{auditd}├─automount───4*[{automount}]├─bluetoothd├─bonobo-activati───{bonobo-activat}├─certmonger├─clock-applet├─console-kit-dae───63*[{console-kit-da}]├─crond├─cupsd├─2*[dbus-daemon───{dbus-daemon}]├─2*[dbus-launch]├─devkit-power-da├─gconf-im-settin├─gconfd-2├─gdm-binary─┬─gdm-simple-slav─┬─Xorg│ │ ├─gdm-session-wor─┬─gnome-session─┬─abrt-applet│ │ │ │├─bluetooth-apple│ │ │ │├─evolution-alarm│ │ │ │├─gdu-notificatio│ │ │ │├─gnome-panel│ │ │ │├─gnome-power-man│ │ │ │├─gnome-volume-co│ │ │ │├─gpk-update-icon│ │ │ │├─metacity│ │ │ │├─nautilus│ │ │ │├─nm-applet│ │ │ │├─polkit-gnome-au│ │ │ │├─python│ │ │ │├─restorecond│ │ │ │└─{gnome-session}│ │ │ └─{gdm-session-wo}│ │ └─{gdm-simple-sla}│ └─{gdm-binary}├─gdm-user-switch├─gnome-keyring-d───2*[{gnome-keyring-}]├─gnome-screensav├─gnome-settings-───{gnome-settings}├─gnote├─gvfs-afc-volume───{gvfs-afc-volum}├─gvfs-fuse-daemo───3*[{gvfs-fuse-daem}]├─gvfs-gdu-volume├─gvfs-gphoto2-vo├─gvfsd├─gvfsd-burn├─gvfsd-trash├─hald─┬─hald-runner─┬─hald-addon-acpi││ ├─hald-addon-inpu││ └─hald-addon-rfki│└─{hald}├─ibus-x11├─im-settings-dae─┬─ibus-daemon─┬─ibus-engine-pin│ │ ├─ibus-gconf│ │ ├─python│ │ └─{ibus-daemon}│ └─{im-settings-da}├─master─┬─pickup│ └─qmgr├─5*[mingetty]├─modem-manager├─notification-ar├─polkitd├─pulseaudio─┬─gconf-helper│ └─2*[{pulseaudio}]├─rpc.statd├─rpcbind├─rsyslogd───3*[{rsyslogd}]├─rtkit-daemon───2*[{rtkit-daemon}]├─seahorse-daemon├─sshd─┬─2*[sshd───bash]│└─sshd───bash───csh───bash───csh───bash───pstree├─trashapplet├─udevd───2*[udevd]├─udisks-daemon─┬─udisks-daemon│└─{udisks-daemon}├─wnck-applet└─wpa_supplicant[root@localhost ~]#

如上,查看查询结果中pstree,该节点前面有bash——csh——bash——csh——bash

那我们退出

注意,通过以下全部示例,注意set命令查询结果中sex name 等的区别,注意pstree 中pstree的位置变化,理解其中微妙变化

[root@localhost ~]# [root@localhost ~]# setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepathBASH_ALIASES=()BASH_ARGC=()BASH_ARGV=()BASH_CMDS=()BASH_LINENO=()BASH_SOURCE=()BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")BASH_VERSION='4.1.2(2)-release'COLORS=/etc/DIR_COLORSCOLUMNS=88CVS_RSH=sshDIRSTACK=()DISPLAY=localhost:12.0EUID=0GROUPS=()G_BROKEN_FILENAMES=1HISTCONTROL=ignoredupsHISTFILE=/root/.bash_historyHISTFILESIZE=1000HISTSIZE=1000HOME=/rootHOSTNAME=localhost.localdomainHOSTTYPE=x86_64ID=0IFS=$' \t\n'LANG=zh_CN.UTF-8LESSOPEN='||/usr/bin/lesspipe.sh %s'LINES=34LOGNAME=rootLS_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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.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:'MACHTYPE=x86_64-redhat-linux-gnuMAIL=/var/spool/mail/rootMAILCHECK=60OPTERR=1OPTIND=1OSTYPE=linux-gnuPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPIPESTATUS=([0]="0")PPID=7517PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'PS1='[\u@\h \W]\$ 'PS2='> 'PS4='+ 'PWD=/rootQTDIR=/usr/lib64/qt-3.3QTINC=/usr/lib64/qt-3.3/includeQTLIB=/usr/lib64/qt-3.3/libSELINUX_LEVEL_REQUESTED=SELINUX_ROLE_REQUESTED=SELINUX_USE_CURRENT_RANGE=SHELL=/bin/bashSHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitorSHLVL=1SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassSSH_CLIENT='192.168.1.137 51668 22'SSH_CONNECTION='192.168.1.137 51668 192.168.1.132 22'SSH_TTY=/dev/pts/2TERM=xtermUID=0USER=root_=123456789aa=123456789abc=$'\345\271\264 12\346\234\210 16\346\227\245 \346\230\237\346\234\237\346\227\245 15:17:11 CST'colors=/etc/DIR_COLORSname=sc__udisks () { local IFS='';local cur="${COMP_WORDS[COMP_CWORD]}";if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then_filedir || return 0;elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseCOMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));fi;fi;fi;fi;fi;fi;fi;fi;fi}[root@localhost ~]# [root@localhost ~]# [root@localhost ~]# csh[root@localhost ~]# [root@localhost ~]# exitexit[root@localhost ~]# bash[root@localhost ~]# exitexit[root@localhost ~]# pstreeinit─┬─NetworkManager├─abrtd├─acpid├─atd├─auditd───{auditd}├─automount───4*[{automount}]├─bluetoothd├─bonobo-activati───{bonobo-activat}├─certmonger├─clock-applet├─console-kit-dae───63*[{console-kit-da}]├─crond├─cupsd├─2*[dbus-daemon───{dbus-daemon}]├─2*[dbus-launch]├─devkit-power-da├─gconf-im-settin├─gconfd-2├─gdm-binary─┬─gdm-simple-slav─┬─Xorg│ │ ├─gdm-session-wor─┬─gnome-session─┬─abrt-applet│ │ │ │├─bluetooth-apple│ │ │ │├─evolution-alarm│ │ │ │├─gdu-notificatio│ │ │ │├─gnome-panel│ │ │ │├─gnome-power-man│ │ │ │├─gnome-volume-co│ │ │ │├─gpk-update-icon│ │ │ │├─metacity│ │ │ │├─nautilus│ │ │ │├─nm-applet│ │ │ │├─polkit-gnome-au│ │ │ │├─python│ │ │ │├─restorecond│ │ │ │└─{gnome-session}│ │ │ └─{gdm-session-wo}│ │ └─{gdm-simple-sla}│ └─{gdm-binary}├─gdm-user-switch├─gnome-keyring-d───2*[{gnome-keyring-}]├─gnome-screensav├─gnome-settings-───{gnome-settings}├─gnote├─gvfs-afc-volume───{gvfs-afc-volum}├─gvfs-fuse-daemo───3*[{gvfs-fuse-daem}]├─gvfs-gdu-volume├─gvfs-gphoto2-vo├─gvfsd├─gvfsd-burn├─gvfsd-trash├─hald─┬─hald-runner─┬─hald-addon-acpi││ ├─hald-addon-inpu││ └─hald-addon-rfki│└─{hald}├─ibus-x11├─im-settings-dae─┬─ibus-daemon─┬─ibus-engine-pin│ │ ├─ibus-gconf│ │ ├─python│ │ └─{ibus-daemon}│ └─{im-settings-da}├─master─┬─pickup│ └─qmgr├─5*[mingetty]├─modem-manager├─notification-ar├─polkitd├─pulseaudio─┬─gconf-helper│ └─2*[{pulseaudio}]├─rpc.statd├─rpcbind├─rsyslogd───3*[{rsyslogd}]├─rtkit-daemon───2*[{rtkit-daemon}]├─seahorse-daemon├─sshd─┬─2*[sshd───bash]│└─sshd───bash───pstree├─trashapplet├─udevd───2*[udevd]├─udisks-daemon─┬─udisks-daemon│└─{udisks-daemon}├─wnck-applet└─wpa_supplicant[root@localhost ~]# [root@localhost ~]# csh[root@localhost ~]# bash[root@localhost ~]# csh[root@localhost ~]# bash[root@localhost ~]# pstreeinit─┬─NetworkManager├─abrtd├─acpid├─atd├─auditd───{auditd}├─automount───4*[{automount}]├─bluetoothd├─bonobo-activati───{bonobo-activat}├─certmonger├─clock-applet├─console-kit-dae───63*[{console-kit-da}]├─crond├─cupsd├─2*[dbus-daemon───{dbus-daemon}]├─2*[dbus-launch]├─devkit-power-da├─gconf-im-settin├─gconfd-2├─gdm-binary─┬─gdm-simple-slav─┬─Xorg│ │ ├─gdm-session-wor─┬─gnome-session─┬─abrt-applet│ │ │ │├─bluetooth-apple│ │ │ │├─evolution-alarm│ │ │ │├─gdu-notificatio│ │ │ │├─gnome-panel│ │ │ │├─gnome-power-man│ │ │ │├─gnome-volume-co│ │ │ │├─gpk-update-icon│ │ │ │├─metacity│ │ │ │├─nautilus│ │ │ │├─nm-applet│ │ │ │├─polkit-gnome-au│ │ │ │├─python│ │ │ │├─restorecond│ │ │ │└─{gnome-session}│ │ │ └─{gdm-session-wo}│ │ └─{gdm-simple-sla}│ └─{gdm-binary}├─gdm-user-switch├─gnome-keyring-d───2*[{gnome-keyring-}]├─gnome-screensav├─gnome-settings-───{gnome-settings}├─gnote├─gvfs-afc-volume───{gvfs-afc-volum}├─gvfs-fuse-daemo───3*[{gvfs-fuse-daem}]├─gvfs-gdu-volume├─gvfs-gphoto2-vo├─gvfsd├─gvfsd-burn├─gvfsd-trash├─hald─┬─hald-runner─┬─hald-addon-acpi││ ├─hald-addon-inpu││ └─hald-addon-rfki│└─{hald}├─ibus-x11├─im-settings-dae─┬─ibus-daemon─┬─ibus-engine-pin│ │ ├─ibus-gconf│ │ ├─python│ │ └─{ibus-daemon}│ └─{im-settings-da}├─master─┬─pickup│ └─qmgr├─5*[mingetty]├─modem-manager├─notification-ar├─polkitd├─pulseaudio─┬─gconf-helper│ └─2*[{pulseaudio}]├─rpc.statd├─rpcbind├─rsyslogd───3*[{rsyslogd}]├─rtkit-daemon───2*[{rtkit-daemon}]├─seahorse-daemon├─sshd─┬─2*[sshd───bash]│└─sshd───bash───csh───bash───csh───bash───pstree├─trashapplet├─udevd───2*[udevd]├─udisks-daemon─┬─udisks-daemon│└─{udisks-daemon}├─wnck-applet└─wpa_supplicant[root@localhost ~]# [root@localhost ~]# name=sc[root@localhost ~]# sex=man[root@localhost ~]# export set[root@localhost ~]# export sex[root@localhost ~]# setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepathBASH_ALIASES=()BASH_ARGC=()BASH_ARGV=()BASH_CMDS=()BASH_LINENO=()BASH_SOURCE=()BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")BASH_VERSION='4.1.2(2)-release'COLORS=/etc/DIR_COLORSCOLUMNS=88CVS_RSH=sshDIRSTACK=()DISPLAY=localhost:12.0EUID=0GROUP=rootGROUPS=()G_BROKEN_FILENAMES=1HISTCONTROL=ignoredupsHISTFILE=/root/.bash_historyHISTFILESIZE=1000HISTSIZE=1000HOME=/rootHOST=localhost.localdomainHOSTNAME=localhost.localdomainHOSTTYPE=x86_64-linuxID=0IFS=$' \t\n'LANG=zh_CN.UTF-8LESSOPEN='||/usr/bin/lesspipe.sh %s'LINES=34LOGNAME=rootLS_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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.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:'MACHTYPE=x86_64MAIL=/var/spool/mail/rootMAILCHECK=60OPTERR=1OPTIND=1OSTYPE=linuxPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPIPESTATUS=([0]="0")PPID=7730PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'PS1='[\u@\h \W]\$ 'PS2='> 'PS4='+ 'PWD=/rootQTDIR=/usr/lib64/qt-3.3QTINC=/usr/lib64/qt-3.3/includeQTLIB=/usr/lib64/qt-3.3/libREMOTEHOST=192.168.1.137SELINUX_LEVEL_REQUESTED=SELINUX_ROLE_REQUESTED=SELINUX_USE_CURRENT_RANGE=SHELL=/bin/bashSHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitorSHLVL=5SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassSSH_CLIENT='192.168.1.137 51668 22'SSH_CONNECTION='192.168.1.137 51668 192.168.1.132 22'SSH_TTY=/dev/pts/2TERM=xtermUID=0USER=rootVENDOR=unknown_=sexcolors=/etc/DIR_COLORSname=scsex=man__udisks () { local IFS='';local cur="${COMP_WORDS[COMP_CWORD]}";if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then_filedir || return 0;elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseCOMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));fi;fi;fi;fi;fi;fi;fi;fi;fi}[root@localhost ~]# bash[root@localhost ~]# setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepathBASH_ALIASES=()BASH_ARGC=()BASH_ARGV=()BASH_CMDS=()BASH_LINENO=()BASH_SOURCE=()BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")BASH_VERSION='4.1.2(2)-release'COLORS=/etc/DIR_COLORSCOLUMNS=88CVS_RSH=sshDIRSTACK=()DISPLAY=localhost:12.0EUID=0GROUP=rootGROUPS=()G_BROKEN_FILENAMES=1HISTCONTROL=ignoredupsHISTFILE=/root/.bash_historyHISTFILESIZE=1000HISTSIZE=1000HOME=/rootHOST=localhost.localdomainHOSTNAME=localhost.localdomainHOSTTYPE=x86_64-linuxID=0IFS=$' \t\n'LANG=zh_CN.UTF-8LESSOPEN='||/usr/bin/lesspipe.sh %s'LINES=34LOGNAME=rootLS_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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.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:'MACHTYPE=x86_64MAIL=/var/spool/mail/rootMAILCHECK=60OPTERR=1OPTIND=1OSTYPE=linuxPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPIPESTATUS=([0]="0")PPID=7738PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'PS1='[\u@\h \W]\$ 'PS2='> 'PS4='+ 'PWD=/rootQTDIR=/usr/lib64/qt-3.3QTINC=/usr/lib64/qt-3.3/includeQTLIB=/usr/lib64/qt-3.3/libREMOTEHOST=192.168.1.137SELINUX_LEVEL_REQUESTED=SELINUX_ROLE_REQUESTED=SELINUX_USE_CURRENT_RANGE=SHELL=/bin/bashSHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitorSHLVL=6SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassSSH_CLIENT='192.168.1.137 51668 22'SSH_CONNECTION='192.168.1.137 51668 192.168.1.132 22'SSH_TTY=/dev/pts/2TERM=xtermUID=0USER=rootVENDOR=unknown_=/etc/bashrccolors=/etc/DIR_COLORSsex=man__udisks () { local IFS='';local cur="${COMP_WORDS[COMP_CWORD]}";if [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--show-info" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--inhibit-polling" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--mount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--unmount" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--detach" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-refresh" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--ata-smart-simulate" ]; then_filedir || return 0;elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--set-spindown" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseif [ "${COMP_WORDS[$(($COMP_CWORD - 1))]}" = "--poll-for-media" ]; thenCOMPREPLY=($(compgen -W "$(udisks --enumerate-device-files)" -- $cur));elseCOMPREPLY=($(IFS=: compgen -W "--dump:--inhibit-polling:--inhibit-all-polling:--enumerate:--enumerate-device-files:--monitor:--monitor-detail:--show-info:--help:--mount:--mount-fstype:--mount-options:--unmount:--unmount-options:--detach:--detach-options:--ata-smart-refresh:--ata-smart-wakeup:--ata-smart-simulate:--set-spindown:--set-spindown-all:--spindown-timeout:--poll-for-media" -- $cur));fi;fi;fi;fi;fi;fi;fi;fi;fi}[root@localhost ~]#

#申明变量

》env

#查询变量,这个更常用

[root@localhost ~]# envREMOTEHOST=192.168.1.137HOSTNAME=localhost.localdomainSELINUX_ROLE_REQUESTED=HOST=localhost.localdomainSHELL=/bin/bashTERM=xtermHISTSIZE=1000SSH_CLIENT=192.168.1.137 51668 22SELINUX_USE_CURRENT_RANGE=QTDIR=/usr/lib64/qt-3.3QTINC=/usr/lib64/qt-3.3/includeSSH_TTY=/dev/pts/2GROUP=rootUSER=rootLS_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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.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:HOSTTYPE=x86_64-linuxPATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binMAIL=/var/spool/mail/rootPWD=/rootLANG=zh_CN.UTF-8SELINUX_LEVEL_REQUESTED=HISTCONTROL=ignoredupsSSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassHOME=/rootSHLVL=6OSTYPE=linuxVENDOR=unknownMACHTYPE=x86_64LOGNAME=rootCVS_RSH=sshQTLIB=/usr/lib64/qt-3.3/libSSH_CONNECTION=192.168.1.137 51668 192.168.1.132 22LESSOPEN=||/usr/bin/lesspipe.sh %sDISPLAY=localhost:12.0sex=manG_BROKEN_FILENAMES=1_=/bin/env[root@localhost ~]#

PS1 变量只能通过set命令查看,不是自定义的环境变量,而是系统预设的,目前还未用的

》unset 变量名

#删除变量

3、系统常见环境变量

》PATH:系统查找命令的路径

[root@localhost ~]# echo $PATH

/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr:/bin:root/bin

》PATH="$PATH":/root/sh

#PATH变量叠加

不管是系统命令还是自定义脚本执行,归根结底都需要绝对路径调用

[root@localhost ~]# vim hello.sh#!/bin/bashecho "hello world"~ ~ ~[root@localhost ~]# [root@localhost ~]# ./hello.sh hello world[root@localhost ~]# /root/hello.sh hello world[root@localhost ~]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@localhost ~]# cp hello.sh /bin/[root@localhost ~]# hello.sh hello world[root@localhost ~]# rm -rf /root/hello.sh [root@localhost ~]# PATH="$PATH":/root[root@localhost ~]# hello.sh hello world[root@localhost ~]# echo $PATH/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root[root@localhost ~]#

以上示例表示自己创建了一个脚本文件hello.sh,并通过基本的赋权限,通过绝对路径和相对路径的方式调用执行

然后通过查看当前系统环境变量的路径,将该脚本放入其中某个路径,便可直接运行这个脚本,但不符合一般的

原则,所以我们选择将某个路径作为环境变量配置到PATH变量中,此时,我们便可在任意位置调用执行该脚本

同时通过查询PATH环境变量的值,发现自己添加的/root目录在其中

4、PSI:定义系统提示符的变量 (也就是默认命令输入前的[root@localhost ~] 的值)

[root@localhost ~]# [root@localhost ~]# echo $PS1[\u@\h \W]\$[root@localhost ~]# PS1='[\u@\t \w]\$ '[root@16:57:10 ~]# cd /usr/local/src/[root@16:57:23 /usr/local/src]# PS1='[\u@\t \# \w]\$ '[root@16:58:31 24 /usr/local/src]# [root@16:58:36 24 /usr/local/src]# [root@16:58:36 24 /usr/local/src]# PS1='[\u@\h \W]\$'[root@localhost src]#[root@localhost src]#cd ~[root@localhost ~]#

如果觉得《Linux学习之Shell编程——Bash变量——环境变量》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。