亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

二:shell之bash變量

2024-06-28 14:32:02
字體:
來源:轉載
供稿:網友

1.變量的分類;


用戶自定義變量:   變量自定義 默認存儲是字符串
環境變量:              這種變量中主要保存的是和系統操作環境相關的數據。變量可以自定義,但是對系統生效的環境變量名和變量作用是固定的
位置參數變量:      這種變量主要是用來向腳本當中傳遞參數或數據的,變量名不能自定義,變量作用是固定的
預定義變量:          是bash中已經定義好的變量,變量名不能自定義,變量作用也是固定的

2.用戶自定義變量

1.定義變量
        格式:變量名稱=變量值(=左右不能加空格)
 例如:
        x=5 就定義了一個叫 x 的變量
       注意 5 是字符,不是數字,不能加減乘除。
      name="hello world"

2.變量調用
   在變量名之前加一個 $表示變量的值
        例如:輸出變量的值
           echo $x
           echo $name

3.變量疊加
     x=123
     x="$x"456 或  x=${x}456

4.變量查看
      set 會顯示當前系統中所有運行的變量
      set -u 如果設定此選項,調用未聲明變量時會報錯(默認無任何提示)

5.刪除變量
     unset 變量名
     例如:unset name

3.bash環境變量

1.環境變量與用戶自定義變量的區別
         環境變量是全局變量,用戶自定義變量是局部變量。
         用戶自定義變量只在當前的 shell 中生效,環境變量在當前 shell 和這個 shell 的所有子 shell 中生效。
         用戶可以自定義環境變量,但對系統生效的環境變量名和變量作用是固定的。

2.用戶自定義環境變量
         export 變量名=變量值

        變量名=變量值
        export 變量名

3.查看環境變量
       set 查看所有變量
       env 查看環境變量

4.刪除環境變量
      unset 環境名

5.常用的環境變量
         HOSTNAME:主機名
         SHELL:當前的 shell
         TERM:終端環境
         HISTSIZE:歷史命令條數
         SSH_CLIENT:當前操作環境是用 ssh 連接的,這里記錄客戶端 ip
         SSH_TTY:ssh 連接的終端是 pts/1
         USER:當前登錄的用戶
         PATH:系統搜索命令的路徑
要想直接通過腳本名執行自己的腳本:
(1)將腳本拷貝至 PATH 中的任意目錄下(不建議這樣做),例如:
          cp hello.sh /bin/
(2)將腳本所在目錄添加到 PATH 變量中,例如:
          PATH="$PATH":/root/sh 但系統重啟后失效(用的是變量疊加)
PS1:命令提示符設置
      /d:顯示日期,格式為"星期 月 日"
      /H:顯示完整的主機名
      /t:顯示 24 小時制時間,格式為"HH:MM:SS"
      /A:顯示 24 小時制時間,格式為"HH:MM"
      /u:顯示當前用戶名
      /w:顯示當前所在目錄的完整名稱
      /W:顯示當前所在目錄的最后一個目錄
      /$:提示符。root 用戶為"#",普通用戶為"$"

6:語系變量

    環境變量中的語系變量
    locale          #查詢當前系統語系
    LANG        #定義系統主語系的變量
    LC_ALL #定義整體語系的變量
    echo $LANG #查看系統當前語系
    locale -a | more
   #查看linux支持的所有語系

查看默認語系
     cat /etc/sysconfig/i18n
顯示:
     LANG="zh_CN.UTF-8"
#表示開機默認就是中文語系UTF-8編碼

4.位置參數變量

1.位置參數變量
         $n:n 為數字,$0 代表命令本身,$1-$9 代表第一到第九個參數,十以上的參數需要用大括號包含,如 ${10}。
         $*:這個變量代表命令行中所有的參數,$* 把所有的參數看成一個整體。
         $@:這個變量也代表命令行中所有的參數,不過 $@ 把每個參數區分對待。
         $#:這個變量代表命令行中所有參數的個數。

2.例子1:
 #!/bin/bash
     num1=$1
     num2=$2
     sum=$(($num1+$num2)) 
#變量 sum 的和是 num1 加 num2
    echo $sum 
#打印變量 sum 的值

執行腳本:
    ./test.sh   45 76

3.例子2
     #!/bin/bash
     echo "A total of $# parameters"
                                         #使用 $# 代表所有參數的個數
     echo "The parameters is:$*"
                                        #使用 $* 代表所有的參數
     echo "The parameters is:$@"
                                        #使用 $@ 代表所有的參數

執行腳本:
           ./test.sh 11 22 33 44

4.例子3:$* 與 $@ 的區別
#!/bin/bash
for i in "$*"
                         # $* 中所有參數看成是一個整體,所以這個 for 循環只會循環一次
do
echo "The parameters is:$i"
done

for y in "$@"
                 # $@ 中每個參數都看成是獨立的,所以 $@ 中有幾個參數,就會循環幾次
do
echo "Parameter:$y"
done

5.預定義變量

預定義變量:
  1.$?:最后一次執行的命令的返回狀態。
     如果這個變量的值為0,證明上一個命令正確執行;

     如果這個變量的值為非0(具體是哪個數,由命令自己來決定),則證明上一個命令執行不正確了。
2.$$:當前進程的進程號(PID)。
3.$!:后臺最后一個運行的進程的進程號(PID)。

接收鍵盤輸入:
    read [選項] [變量名]
    選項:
        -p "提示信息":在等待read輸入時,輸出提示信息
        -t 秒數:read命令會一直等待用戶輸入,使用此選項可以指定等待時間
        -n 字符數:read命令只接受指定的字符數,就會執行
        -s:隱藏輸入的數據,適用于機密信息的輸入

read.sh:
#!/bin/bash

read -p "please input your name:" -t 30 name
echo $name

read -p "please input your passwd:" -s passwd
echo -e "/n"
echo $passwd

read -p "please input your sex [M/F]:" sex
echo -e "/n"
echo $sex


上一篇:一:Shell基礎

下一篇:UserAddcommand

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲va电影大全| 欧美夫妻性生活视频| 欧美日韩午夜视频在线观看| 综合网中文字幕| 日韩经典中文字幕在线观看| 2019日本中文字幕| 中文字幕日韩电影| 有码中文亚洲精品| 日韩欧美亚洲范冰冰与中字| 久久影院模特热| 亚洲免费一级电影| 亚洲免费高清视频| 久久伊人精品视频| 国产精品久久久久久亚洲影视| 黄色一区二区在线观看| 亚洲国产女人aaa毛片在线| 欧美亚洲第一区| 岛国视频午夜一区免费在线观看| 色偷偷偷亚洲综合网另类| xxxxxxxxx欧美| 日韩中文字幕在线精品| 国产日韩欧美在线看| 色综合视频一区中文字幕| 欧美大片va欧美在线播放| 国产成人一区二| 久久久久久国产精品三级玉女聊斋| 久久国产精品视频| 777777777亚洲妇女| 精品国产91久久久久久| 国产精品人成电影在线观看| 久久激情视频久久| 久久精品视频中文字幕| 国产精品免费视频xxxx| 久久艹在线视频| 在线观看91久久久久久| 欧美一级片久久久久久久| 丝袜美腿精品国产二区| 最近2019免费中文字幕视频三| 欧美一区二区三区图| 国产亚洲激情在线| 久久综合电影一区| 日本19禁啪啪免费观看www| 综合网中文字幕| 国产精品扒开腿做| 日韩精品在线看| 久久中文字幕一区| 欧美大肥婆大肥bbbbb| 亚洲aaaaaa| 欧美日韩国产黄| 欧美在线激情网| 国产精品一区二区三区久久久| 国产精品美乳在线观看| 国产精品老牛影院在线观看| 91精品国产自产在线观看永久| 中文字幕日韩欧美在线| 精品激情国产视频| 麻豆国产va免费精品高清在线| 中文字幕欧美精品日韩中文字幕| 国产欧美精品一区二区三区-老狼| 日本午夜精品理论片a级appf发布| 欧美福利视频网站| 91青草视频久久| 91九色综合久久| 2019亚洲男人天堂| 国产精品日韩一区| 97在线视频免费观看| 欧美日韩国产中字| 亚洲永久在线观看| 色偷偷噜噜噜亚洲男人的天堂| 欧美成人性生活| 亚洲在线观看视频网站| 日韩中文字幕网站| 自拍偷拍亚洲欧美| 亚洲免费中文字幕| 国产日韩欧美日韩大片| 欧美日本啪啪无遮挡网站| 国内精品久久久久久久久| 亚洲а∨天堂久久精品9966| 国产精品丝袜久久久久久不卡| 欧美另类极品videosbest最新版本| 国产丝袜一区视频在线观看| 一区二区三区高清国产| 成人午夜在线观看| 66m—66摸成人免费视频| 亚洲人成亚洲人成在线观看| 午夜精品一区二区三区在线视频| 欧美激情一区二区三区成人| 欧美日本啪啪无遮挡网站| 欧美性高潮在线| 91精品成人久久| 亚洲精品v欧美精品v日韩精品| 永久免费看mv网站入口亚洲| 日本亚洲欧洲色| 国产欧美婷婷中文| 色婷婷综合久久久久| 日本人成精品视频在线| 精品美女永久免费视频| 色噜噜国产精品视频一区二区| 国产精品网红福利| 91色视频在线导航| 日韩中文字幕第一页| 91嫩草在线视频| 欧美性猛交丰臀xxxxx网站| 91嫩草在线视频| 亚洲色图15p| 亚洲一区二区久久久久久久| 国产精品日韩在线观看| 欧美精品在线播放| 日韩av在线免费| 欧洲美女7788成人免费视频| 亚洲午夜久久久影院| 久久久国产精品视频| 日韩在线视频免费观看| 欧美三级免费观看| 亚洲精品免费一区二区三区| 97视频在线免费观看| 亚洲欧美国产精品久久久久久久| 成人做爽爽免费视频| 国产精品欧美在线| 日韩精品久久久久久久玫瑰园| 久久影视电视剧免费网站| 国产视频久久网| 欧美大尺度激情区在线播放| 欧美日韩激情视频8区| 5278欧美一区二区三区| 欧美在线www| 亚洲视频在线观看视频| 国产成人精品在线观看| 成人av资源在线播放| 中文字幕欧美精品日韩中文字幕| 欧美乱妇40p| 欧美激情免费视频| 成人免费激情视频| 日韩av电影国产| 欧洲成人午夜免费大片| 欧美性xxxx极品高清hd直播| 亚洲欧美中文在线视频| 亚洲成在人线av| 国产色综合天天综合网| 日韩美女在线播放| 久久中文精品视频| 亚洲国产精品高清久久久| 青青久久av北条麻妃海外网| 亚洲www在线| 成人乱色短篇合集| 日韩av免费看| 91精品在线播放| 精品国产成人在线| 欧美在线亚洲一区| 欧美午夜激情视频| 亚洲第一二三四五区| 亚洲国产高清自拍| 97成人在线视频| 色婷婷亚洲mv天堂mv在影片| 午夜欧美大片免费观看| 91精品美女在线| 77777亚洲午夜久久多人| 成人国产在线视频| 午夜精品国产精品大乳美女| 国产精品一区二区性色av| 午夜免费久久久久| 亚洲石原莉奈一区二区在线观看| 91精品国产777在线观看| 性日韩欧美在线视频|