1. 程式人生 > >Shell基礎--Bash變量

Shell基礎--Bash變量

path 永久 ide address cati 環境 路徑 exp 生效

一、用戶自定義變量
  • 用戶自定義變量

    name=‘zhangsan‘
    echo $name
    echo ${name}
  • 變量疊加

    name=zhangsan
    name= ${name}" hello world"
    name="$name is good"
    echo $name
  • 變量調用的常用方式

    echo $name
    echo ${name}
  • 查看變量

set centos版查看已經生效的變量(系統變量和認為自定義變量)

echo $notExistsVar
set -u
echo $notExistsVar
zsh: notExistsVar: parameter not set
  • 刪除變量

    unset name

二、環境變量

問:環境變量和用戶變量的區別?
答:環境變量的作用是全局的,而用戶自定義變量是局部變量。
用戶自定義變量只能在當前的shell中生效
環境變量在當前shell和這個shell的所有子shell中都生效

  • 自定義用戶環境變量

    方式1:export 變量名=變量值
    方式2:變量名=變量值
             export 變量名
  • 查看環境變量

    env 查看當前用戶的環境變量

環境變量對當前shell以及子shell都生效

建議環境變量都大寫

1.PATH環境變量

系統搜索命令的路徑

  • 實踐1:創建自己的系統命令

    cd /home/zrj/www/zhangrenjie_test/test/shell
    chmod +x ./hello.sh
    sudo cp ./hello.sh /bin

    在系統任何地方都可以執行hello.sh

  • 實踐2:將自己的目錄作為系統命令的搜索目錄

echo $PATH
PATH=/home/zrj/bin:/home/zrj/.local/bin:/usr/local/openssl/bin:/home/zrj/bin:/home/zrj/.local/bin:/usr/local/openssl/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/lampp/bin:/home/zrj/bin:~/.composer/vendor/bin:/opt/lampp/bin:/home/zrj/bin:~/.composer/vendor/bin

PATH="$PATH:/home/zrj/www/zhangrenjie_test/test/shell"
#這裏使用變量疊加

echo $PATH
/home/zrj/bin:/home/zrj/.local/bin:/usr/local/openssl/bin:/home/zrj/bin:/home/zrj/.local/bin:/usr/local/openssl/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/lampp/bin:/home/zrj/bin:~/.composer/vendor/bin:/opt/lampp/bin:/home/zrj/bin:~/.composer/vendor/bin:/home/zrj/www/zhangrenjie_test/test/shell
  • 如何讓PATH環境變量永久生效?

2.PS1環境變量

3.PS2環境變量

三、語系變量

locale
#查看當前系統語系
LANG 定義系統主語系的變量
LC_ALL定義整體語系的變量

zrj@zrj:~/www/admin/yundou-admin$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN.UTF-8
LC_MESSAGES=zh_CN.utf8
LC_PAPER=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_ALL=
  • 查看當前語系

    echo $LANG
  • 查看linux系統支持的所有的語系

    locale -a
  • 查看系統默認語系

    即下次開機後開機後默認的系統語系環境

    cat /etc/sysconfig/i18n

Shell基礎--Bash變量