女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

shell腳本本身自帶的命令詳解

FPGA學姐 ? 來源:FPGA學姐 ? 2023-05-23 09:32 ? 次閱讀

除了以文件形式保存在/usr/bin下面的命令,shell腳本中還可以使用shell本身自帶的命令,即內置命令

1、:命令

它不做任何處理,并且永遠將0作為退出狀態碼,也被稱為空命令(null command),由于空命令返回的退出狀態碼永遠為0,所以它也可以像下面這樣用于編寫無限循環的控制結構。因此true命令和:命令除了名稱不一樣,其余都是一樣的。

while :     ←-----(本行及以下3行)使用了空命令的無限循環
do            
    處理內容  
done

2、echo/printf

echo命令比較簡單不做過多介紹

▼echo命令的選項有-n、-e和-E。-n選項用于設置不讓腳本輸出行尾的換行符。其實準確來說,echo命令會在參數后面加上一個換行符并將其輸出到標準輸出中。但是,如果使用了-n選項,echo命令就不會在行尾添加換行符了。

▼printf命令和echo命令不同,不會在輸出的行尾添加換行符。如果想輸出換行符,需要在格式字符串中顯式地添加 。另外,echo命令的-e選項中支持的轉義字符也可以在printf中使用。唯一的例外是在輸出8進制的ASCII碼字符時,echo命令使用的是?nnn,而printf不需要前面的0,寫成 nn就可以了。

3、command命令和builtin命令

函數的優先級高于可執行文,在這種情況下,要想執行優先級較低的內置命令或者可執行文件,可以使用內置命令command。command命令的使用方法為“command命令名”,使用它就可以只在內置命令和可執行文件中查找并執行指定的命令。

038bfe58-f8f5-11ed-90ce-dac502259ad0.png

這種情況下,就可以使用command命令或者builtin命令設置執行命令的優先順序。

4、type命令

type命令用于判斷指定的命令的類型。該命令可以輸出參數中命令的類型,即別名、保留字、函數、內置命令、可執行文件中的任意一個

▼使用type命令顯示別名的詳細信息

$ alias ll='ls -l'
$ type ll
ll 是 `ls -l' 的別名

▼使用type命令顯示函數的詳細信息

$ hello() { echo 'Hello, world!'; }  ←----- 定義 hello 函數
$ type hello
hello 是函數
hello ()
{                        ←----- 函數體的代碼
    echo 'Hello, world!'
}

▼將不存在的命令作為參數會報錯

$ type xxx
-bash: type: xxx: 未找到

這時,type命令的退出狀態碼為1。反過來,如果命令存在于那幾種類型之中,那么退出狀態碼為0

5、set命令

▼第1個功能是顯示當前shell中的所有變量。如果在執行set命令時沒有指定任何參數,那么該命令就會輸出當前shell中設置的變量及其值的列表,以及函數名和函數體的列表。

$ set
BASH=/bin/bash
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
……以下省略……

▼也可以用來顯示函數信息像type

▼使用set -o命令顯示所有選項的狀態

$ set -o
allexport        off
braceexpand      on
emacs            on
errexit          off
……以下省略……

▼使用set命令覆蓋位置參數的值

#!/bin/bash
echo "$1, $2, $3, $4"
set 111 222 333
echo "$1, $2, $3, $4"
運行:
$ ./set_parameter.sh aaa bbb ccc ddd
aaa, bbb, ccc, ddd
111, 222, 333,    ←----- set 命令修改了位置參數的內容

6、unset

unset命令用于刪除shell中的變量。使用方法為“unset變量名,刪以后為空字符串

$ name=miyake
$ echo "name = $name"
name = miyake
$ unset name
$ echo "name = $name"
name =

標記為readonly的變量想刪也刪不掉

7、input

read命令用于從標準輸入讀取一行數據,其使用方法如下。

#!/bin/bash
echo 'delete file?'
read input  ←--------- 從標準輸入讀取 1 行數據并賦值給變量 input
if [[ $input == yes ]]; then
    echo 'DELETE'
else
    echo 'CANCEL'
fi

▼根據鍵盤的輸入執行不同的處理

$ ./read_input.sh
delete file?
yes  ←----- 用戶的輸入
DELETE

▼將標準輸入的內容逐行輸出到標準輸出

#!/bin/bash
while read line  ←----------- 標準輸入的 1 行內容被不斷地賦值給變量 line
do
  printf '%s
' "$line"
done

注意事項:read命令會將解析為轉義字符。因此后面即使是IFS所包含的字符,也不能實現單詞分割的功能。特別是,如果在行尾,那么換行符也會被忽略,這一行和下一行會被當成一行讀取。要想禁止這一功能,可以使用-r選項。該選項可以讓符號不再具有特殊的含義,即使出現在行尾,這一行也會和下一行保持獨立,不會連到一起。

8、wait命令

wait命令用于等待在后臺運行的進程的結束。在以后臺的方式運行比較耗時的處理時,如果想等待所有處理結束,就可以使用wait命令

#!/bin/bash
./task1.sh &
./task2.sh &
wait
echo finish

9、eval

eval命令可以將參數指定的字符串當作shell的命令行解析并執行

例如eval ls~

ls ~命令會被執行。這和直接在腳本中寫入ls ~是一樣的

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ASCII
    +關注

    關注

    5

    文章

    172

    瀏覽量

    35641
  • 函數
    +關注

    關注

    3

    文章

    4367

    瀏覽量

    64105
  • Shell腳本
    +關注

    關注

    0

    文章

    36

    瀏覽量

    8168

原文標題:shell腳本基礎(六)內置命令

文章出處:【微信號:FPGA學姐,微信公眾號:FPGA學姐】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    shell腳本進階】幾個常用的shell進階腳本

    shell腳本進階】幾個常用的shell進階腳本
    的頭像 發表于 09-19 08:59 ?2192次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進階】幾個常用的<b class='flag-5'>shell</b>進階<b class='flag-5'>腳本</b>

    Linux Shell腳本入門到實戰詳解

    Linux Shell腳本入門到實戰詳解
    發表于 02-17 15:03 ?732次閱讀

    如何編寫Shell腳本命令

    編寫Shell腳本命令
    發表于 06-18 14:00

    腳本shell語言的相關資料推薦

    啟動、掛起、停止甚至是編寫一些程序。shell也是一種腳本編程語言,所謂的腳本編程就是能進行批處理。批處理能提高布局速度,或者在做一些復雜任務是能解決很多效益問題,Shell
    發表于 12-23 06:24

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell
    的頭像 發表于 10-16 11:27 ?5093次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    Linux系統命令shell腳本實踐指南

    Linux系統命令shell腳本實踐指南資料下載。
    發表于 06-01 14:47 ?28次下載

    109個實用shell腳本分享

    Shell腳本,就是利用Shell命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell
    的頭像 發表于 03-16 08:58 ?2856次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發表于 01-11 16:50 ?4次下載

    shell腳本基礎知識

    shell腳本是一個文件,里面存放的是特定格式的指令,系統可以使用腳本解析器翻譯或解析指令并執行(無需編譯),shell腳本的本質是
    的頭像 發表于 04-17 15:00 ?1290次閱讀

    Linux shell 腳本詳解

    Shell 通過提示您輸入,向操作系統解釋該輸入,然后處理來自操作系統的任何結果輸出,簡單來說Shell就是一個用戶跟操作系統之間的一個命令解釋器。
    發表于 05-22 10:03 ?422次閱讀
    Linux <b class='flag-5'>shell</b> <b class='flag-5'>腳本</b><b class='flag-5'>詳解</b>

    為什么shell腳本中執行命令要加exec?這個exec有什么作用呢?

    正常情況下,如果我們想要在shell腳本中執行一個命令,我們只用將該命令原樣寫到這個shell腳本
    的頭像 發表于 08-21 09:10 ?3939次閱讀
    為什么<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>中執行<b class='flag-5'>命令</b>要加exec?這個exec有什么作用呢?

    shell腳本基本命令

    Shell腳本是一種可執行文件,它包含了一組用某種特定語言編寫的命令,這些命令可以被解釋器(如bash)執行。以下是一些常見的shell
    的頭像 發表于 11-08 10:08 ?2543次閱讀

    shell并行調用腳本

    Shell腳本中,可以使用一些技巧來實現并行調用。以下是幾種常見的方法: 使用后臺進程:在Shell腳本中,可以使用"command2 上述腳本
    的頭像 發表于 11-08 10:23 ?1175次閱讀

    linux命令行與shell編程實戰

    Linux命令行與Shell編程實戰主要涉及以下內容: Linux命令行基礎:學習Linux命令行的基本操作,如文件管理、進程管理、網絡配置等。熟悉使用
    的頭像 發表于 11-08 10:57 ?1006次閱讀

    樹莓派新手必看!在樹莓派上編寫和運行 Shell 腳本

    在本教程中,我將討論Shell腳本的基礎知識、它們的用途以及如何在RaspberryPi上編寫和運行Shell腳本。什么是Shell
    的頭像 發表于 03-25 09:28 ?256次閱讀
    樹莓派新手必看!在樹莓派上編寫和運行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!