shell學習-基礎(變數、輸入、輸出、數組、環境變數)

來源:互聯網
上載者:User

1、#。/bin/sh開頭

2、變數:

(1)定義:變數名=字串。注意:=左右無空格;name=“hello world”,為其賦值帶空格的字串;

(2)引用:用$nametest、${name}test。

3、萬用字元:

(1)*符號:用於匹配字串零次或多次出現;匹配的含.和\符號必須顯示指出。如*test不能匹配.EXtest,而要用.EX*;*test不能匹配/home/test,要用/*/test才可以。

(2)。符號:僅匹配對應位置的一個字元

(3)[]符號:匹配該字元組所限定範圍內的任何一個字元

(4)。符號:匹配不在該字元組所限定範圍內的任何一個字元

4、shell輸入:

read 變數1 變數2

#!/bin/sh
echo "input your name and age:"
read name age
echo "name is :"$name
echo "age is :"$age

5、shell輸出:

echo

6、shell數組:支援一維數組,但不限定數組的具體大小。

(1)取值的一般方式:${數組名[下標值]}

(2)賦值方式:數組名[下標值]=值

(3)可以一個個賦值,也可整體賦值,但值與值用空格隔開。數組名=(value1 value2 value3...)。

eg:

#!/bin/sh
name=(i am very happy)
echo "name[0] is:"${name[0]}
echo "name[1] is:"${name[1]}
echo "name[2] is:"${name[2]}
echo "name[3] is:"${name[3]}

(4)可以通過下標輸出值,也可以用*和@符號代替下標,如${name[*]}取出數組中所有元素的值。

#!/bin/sh
name=(i am very happy)
echo "name is " ${name[*]}
echo "name1 is "${name[@]}

(5)上面是如何增加、讀取,下面介紹如何修改、刪除。

A、修改理解為對數組指定元素的重新賦值;

B、刪除需要藉助一個外部命令:unset。unset name[0]來清空下標為0的元素;也可以使用unset name[@]命令來取消數組中所有的元素。

#!/bin/sh
name=(i am very happy)
name[0]=myself
echo ${name[@]}

unset name[0]
echo ${name[@]}

unset name[@]
echo ${name[*]}

name[0]=hello
name[1]=world
echo ${name[*]}

運行結果:

myself am very happy
am very happy

hello world

6、環境變數:linux中有一塊公用空間,專門用於存放環境變數,使用者可以通過printenv進行查看。

(1)基本的環境變數:

PWD、HOME、LOG NAME、SHELL、PATH

(2)環境變數的刪除:

用unset命令,eg:unset PATH  則PATH即為空白。

#!/bin/sh
echo "PWD:"$PWD
echo "path:"$PATH
echo "logname:"$LOGNAME
echo "sehll:"$SHELL
echo "home:"$HOME

運行結果:

PWD:/home/test/shell
path:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
logname:root
sehll:/bin/bash
home:/root


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.