• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        Shell的一些常識(shí)

        Shell 腳本是什么?
        一個(gè) Shell 腳本是一個(gè)文本文件,包含一個(gè)或多個(gè)命令。作為系統(tǒng)管理員,我們經(jīng)常需要使用多個(gè)命令來(lái)完成一項(xiàng)任務(wù),我們可以添加這些所有命令在一個(gè)文本文件(Shell 腳本)來(lái)完成這些日常工作任務(wù)。
        什么是默認(rèn)登錄 Shell ?
        在 Linux 操作系統(tǒng),"/bin/bash" 是默認(rèn)登錄 Shell,是在創(chuàng)建用戶時(shí)分配的。
        使用 chsh 命令可以改變默認(rèn)的 Shell 。示例如下所示:
        ## chsh <用戶名> -s <新shell>
        ## chsh ThinkWon -s /bin/sh
        在 Shell 腳本中,如何寫(xiě)入注釋?zhuān)?br />注釋可以用來(lái)描述一個(gè)腳本可以做什么和它是如何工作的。每一行注釋以 # 開(kāi)頭。例子如下:
        #!/bin/bash
        ## This is a command
        echo “I am logged in as $USER”
        語(yǔ)法級(jí)
        可以在 Shell 腳本中使用哪些類(lèi)型的變量?
        在 Shell 腳本,我們可以使用兩種類(lèi)型的變量:
        系統(tǒng)定義變量
        系統(tǒng)變量是由系統(tǒng)系統(tǒng)自己創(chuàng)建的。這些變量通常由大寫(xiě)字母組成,可以通過(guò) set 命令查看。
        用戶定義變量
        用戶變量由系統(tǒng)用戶來(lái)生成和定義,變量的值可以通過(guò)命令 "echo $<變量名>" 查看。
        Shell腳本中 $? 標(biāo)記的用途是什么?
        在寫(xiě)一個(gè) Shell 腳本時(shí),如果你想要檢查前一命令是否執(zhí)行成功,在 if 條件中使用 $? 可以來(lái)檢查前一命令的結(jié)束狀態(tài)。
        如果結(jié)束狀態(tài)是 0 ,說(shuō)明前一個(gè)命令執(zhí)行成功。例如:
        root@localhost:~## ls /usr/bin/shar
        /usr/bin/shar
        root@localhost:~## echo $?
        如果結(jié)束狀態(tài)不是0,說(shuō)明命令執(zhí)行失敗。例如:
        root@localhost:~## ls /usr/bin/share
        ls: cannot access /usr/bin/share: No such file or directory
        root@localhost:~## echo $?
        Bourne Shell(bash) 中有哪些特殊的變量?
        下面的表列出了 Bourne Shell 為命令行設(shè)置的特殊變量。
        內(nèi)建變量 解釋
        $0 命令行中的腳本名字
        $1 第一個(gè)命令行參數(shù)
        $2 第二個(gè)命令行參數(shù)
        ….. …….
        $9 第九個(gè)命令行參數(shù)
        $## 命令行參數(shù)的數(shù)量
        $* 所有命令行參數(shù),以空格隔開(kāi)
        如何取消變量或取消變量賦值?
        unset 命令用于取消變量或取消變量賦值。語(yǔ)法如下所示:
        ## unset <變量名>
        Shell 腳本中 if 語(yǔ)法如何嵌套?
        if [ 條件 ]
        then
        命令1
        命令2
        …..
        else
        if [ 條件 ]
        then
        命令1
        命令2
        ….
        else
        命令1
        命令2
        …..
        在 Shell 腳本中如何比較兩個(gè)數(shù)字?
        在 if-then 中使用測(cè)試命令( -gt 等)來(lái)比較兩個(gè)數(shù)字。例如:
        #!/bin/bash
        x=10
        y=20
        if [ $x -gt $y ]
        then
        echo “x is greater than y”
        else
        echo “y is greater than x”
        Shell 腳本中 case 語(yǔ)句的語(yǔ)法?
        基礎(chǔ)語(yǔ)法如下:
        case 變量 in
        值1)
        命令1
        命令2
        …..
        最后命令
        !!
        值2)
        命令1
        命令2
        ……
        最后命令
        Shell 腳本中 for 循環(huán)語(yǔ)法?
        基礎(chǔ)語(yǔ)法如下:
        for 變量 in 循環(huán)列表
        do
        命令1
        命令2
        ….
        最后命令
        done
        Shell 腳本中 while 循環(huán)語(yǔ)法?
        如同 for 循環(huán),while 循環(huán)只要條件成立就重復(fù)它的命令塊。
        不同于 for循環(huán),while 循環(huán)會(huì)不斷迭代,直到它的條件不為真。
        基礎(chǔ)語(yǔ)法:
        while [ 條件 ]
        do
        命令…
        done
        do-while 語(yǔ)句的基本格式?
        do-while 語(yǔ)句類(lèi)似于 while 語(yǔ)句,但檢查條件語(yǔ)句之前先執(zhí)行命令(LCTT 譯注:意即至少執(zhí)行一次。)。下面是用 do-while 語(yǔ)句的語(yǔ)法:
        Shell 腳本中 break 命令的作用?
        break 命令一個(gè)簡(jiǎn)單的用途是退出執(zhí)行中的循環(huán)。我們可以在 while 和 until 循環(huán)中使用 break 命令跳出循環(huán)。
        Shell 腳本中 continue 命令的作用?
        continue 命令不同于 break 命令,它只跳出當(dāng)前循環(huán)的迭代,而不是整個(gè)循環(huán)。continue 命令很多時(shí)候是很有用的,例如錯(cuò)誤發(fā)生,但我們依然希望繼續(xù)執(zhí)行大循環(huán)的時(shí)候。
        如何使腳本可執(zhí)行?
        使用 chmod 命令來(lái)使腳本可執(zhí)行。例子如下:chmod a+x myscript.sh 。
        #!/bin/bash 的作用?
        #!/bin/bash 是 Shell 腳本的第一行,稱為釋伴(shebang)行。
        這里 # 符號(hào)叫做 hash ,而 ! 叫做 bang。
        它的意思是命令通過(guò) /bin/bash 來(lái)執(zhí)行。
        如何調(diào)試 Shell腳本?
        使用 -x' 數(shù)(sh -x myscript.sh)可以調(diào)試 Shell腳本。
        另一個(gè)種方法是使用 -nv 參數(shù)(sh -nv myscript.sh)。
        如何將標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出同時(shí)重定向到同一位置?
        方法一:2>&1 (如## ls /usr/share/doc > out.txt 2>&1 ) 。
        方法二:&> (如## ls /usr/share/doc &> out.txt ) 。
        在 Shell 腳本中,如何測(cè)試文件?
        test 命令可以用來(lái)測(cè)試文件。基礎(chǔ)用法如下表格:
        Test 用法
        -d 文件名 如果文件存在并且是目錄,返回true
        -e 文件名 如果文件存在,返回true
        -f 文件名 如果文件存在并且是普通文件,返回true
        -r 文件名 如果文件存在并可讀,返回true
        -s 文件名 如果文件存在并且不為空,返回true
        -w 文件名 如果文件存在并可寫(xiě),返回true
        -x 文件名 如果文件存在并可執(zhí)行,返回true
        ————————————————

        創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供巧家網(wǎng)站建設(shè)、巧家做網(wǎng)站、巧家網(wǎng)站設(shè)計(jì)、巧家網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、巧家企業(yè)網(wǎng)站模板建站服務(wù),十年巧家做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

        2020年創(chuàng)新互聯(lián)年中促銷(xiāo)活動(dòng)
        限購(gòu)2臺(tái)特價(jià)
        韓國(guó)服務(wù)器 美國(guó)站群服務(wù)器
        CN2線路 優(yōu)選配置 首月半價(jià)
        更有國(guó)內(nèi)高防服務(wù)器超值特價(jià)
        100G-200G防御
        年付更優(yōu)惠
        數(shù)量有限 售完為止
        歡迎在線客服

        本文標(biāo)題:Shell的一些常識(shí)
        標(biāo)題鏈接:http://www.jbt999.com/article0/hgoo.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、用戶體驗(yàn)、品牌網(wǎng)站制作網(wǎng)站改版、網(wǎng)站維護(hù)微信小程序

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

        小程序開(kāi)發(fā)

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            日逼视屏网 | 免费看一级乱伦片 | 亚洲综合网址 | 天天好逼视频 | 波多野结衣操逼视频 | 操逼操逼操逼操 | 荫蒂添出高潮A片视频 | 中文字幕++中文字幕明步 | 天天天日天天天干 | 日韩在线播放视频 |