国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Shell篇】循環(huán)查找某個目錄的腳本文件并打印運行

這篇具有很好參考價值的文章主要介紹了【Shell篇】循環(huán)查找某個目錄的腳本文件并打印運行。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這段代碼是/build/envsetup.sh文件最后一段代碼,搜索了源代碼中所有的vendorsetup.sh腳本。

for f in `test -d device && find -L device -maxdepth 4 -name 'vendorsetup.sh' 2> /dev/null | sort` \
         `test -d vendor && find -L vendor -maxdepth 4 -name 'vendorsetup.sh' 2> /dev/null | sort` \
         `test -d product && find -L product -maxdepth 4 -name 'vendorsetup.sh' 2> /dev/null | sort`
do
    echo "including $f"
    . $f
done

這句代碼是一個 shell 命令,大致意思是:如果當前目錄中存在名為 device 的目錄,則在該目錄下遞歸查找深度不超過 4 級的所有文件中,名字為 vendorsetup.sh 的文件,并將find結果按照字母順序排序。

具體語法解釋如下:

  • test -d device:判斷當前目錄下是否存在一個名為 device 的目錄。-d 表示測試對象是一個目錄。
  • &&:如果上一條命令執(zhí)行成功(即返回值為 0),則執(zhí)行下面的命令;否則停止執(zhí)行后續(xù)命令。
  • find -L device -maxdepth 4 -name 'vendorsetup.sh':在 device 目錄下查找深度不超過 4 級的,名字為 vendorsetup.sh 的文件。各參數(shù)含義如下:
    • -L:表示遇到符號鏈接時,跟隨它指向的文件/目錄進行操作。
    • device:要查找的目錄。
    • -maxdepth 4:查找的最大深度為 4 級子目錄。
    • -name 'vendorsetup.sh':查找文件名為 vendorsetup.sh 的文件。
  • 2> /dev/null:將標準錯誤輸出重定向到 /dev/null 中,如果 find 命令發(fā)生錯誤,它的錯誤信息會被丟棄掉,而不會影響整個管道的執(zhí)行。
  • | sort:將查找到的結果按照字母順序排序。| 表示將前面命令的輸出作為后面命令的輸入。

| 是將前面find命令的輸出還是錯誤輸出以此來作為后面命令的輸入?

| 是一個管道符號,它表示將前面命令的標準輸出(而不是錯誤輸出)作為后面命令的標準輸入。

所以!

在這個代碼中,find 命令的標準輸出(即查找到的文件路徑)將被傳遞給 sort 命令作為標準輸入,并進行排序操作。


那如果我想要把錯誤輸出也給到管道怎么辦呢?

在 shell 中,| 表示將前一個命令的標準輸出 (stdout)作為后一個命令的標準輸入(stdin),并將它們通過管道鏈接起來。

因此,在這段代碼中,find 命令的標準輸出(即文件路徑)會被傳遞給下一個命令 sort 的標準輸入。管道符號不會將錯誤輸出(stderr)傳遞給下一個命令。

如果想要將錯誤輸出也一起重定向到管道中,可以使用以下語法:

command1 2>&1 | command2

其中 2>&1 表示將標準錯誤輸出(2)重定向到標準輸出(1)中,然后再通過管道傳遞給下一個命令 command2


在循環(huán)中,依次打印路徑名稱,并source運行所有找到的vendorsetup.sh腳本。文章來源地址http://www.zghlxwxcb.cn/news/detail-437067.html

到了這里,關于【Shell篇】循環(huán)查找某個目錄的腳本文件并打印運行的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • shell腳本實現(xiàn)刪除服務器指定目錄下文件方法

    上述腳本中,find 命令用于查找指定目錄下4天以前的文件,并將其刪除。其中,-type f 表示只查找普通文件,不包括目錄和符號鏈接等其他類型的文件;-mtime +3 表示查找修改時間早于3天前的文件;-delete 表示刪除查找到的文件。 腳本中的 $folder_path 可以替換為實際的目錄路徑

    2023年04月19日
    瀏覽(23)
  • shell 腳本統(tǒng)計 http 文件服務器下指定目錄及其子目錄下所有文件的大小

    shell腳本如下: 首先 vi calculate_size.sh 寫入下入內(nèi)容 執(zhí)行 sh calculate_size.sh http://example.com/some/dir/ 即可統(tǒng)計 http 文件服務器http://example.com/some/dir/ 中 dir 目錄及其子目錄下所有文件的大小。

    2024年02月15日
    瀏覽(30)
  • android 運行shell 腳本文件或shell命令

    android 運行shell 腳本文件或shell命令 一.運行shell腳本文件 1.test.sh文件內(nèi)容 #!/bin/bash echo \\\"I am a script\\\" ps 2.將shell文件拷貝到Android設備目錄 3.執(zhí)行腳本文件 Runtime.getRuntime().exec(\\\"sh /sdcard/lilei/test.sh\\\"); 注: 應用需要有存儲訪問權限,如果shell文件中有文件訪問請用絕對路徑,否則訪問

    2024年03月12日
    瀏覽(30)
  • shell腳本-批量獲取目錄下所有文件的md5值、大小、inode值

    shell腳本-批量獲取目錄下所有文件的md5值、大小、inode值

    MD5的全稱是Message-Digest Algorithm 5,它一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。MD5值等同于文件的ID,它的值是唯一的。 如果文件已被修改,其MD5值將發(fā)生變化。 運行結果: 文件儲存在硬盤上,硬盤的

    2024年02月09日
    瀏覽(26)
  • Linux 系統(tǒng)查看當前正在運行的某個進程的詳細執(zhí)行腳本和目錄ls -l /proc/PID/cwd和 ls -l /proc/PID/exe

    首先使用 ps 命令查看當前正在運行的某個進程的 PID,例如: 這個命令會列出所有包含 your_process_name 信息的進程ID(也就是PID)和進程名稱。你需要根據(jù)進程的名稱來找到你想要查看的進程對應的PID。 然后進入 /proc 目錄,你可以使用以下命令查看該 PID 對應的執(zhí)行腳本: 其

    2024年02月11日
    瀏覽(24)
  • 【Shell編程練習】編寫 shell 腳本,打印 9*9 乘法表

    【Shell編程練習】編寫 shell 腳本,打印 9*9 乘法表

    輸出Hello World 通過位置變量創(chuàng)建 Linux 系統(tǒng)賬戶及密碼 監(jiān)控內(nèi)存和磁盤容量,小于給定值時報警 猜大小 輸入三個數(shù)并進行升序排序 編寫腳本測試 192.168.4.0/24 整個網(wǎng)段中哪些主機處于開機狀態(tài),哪些主機處于關機狀態(tài) 運行結果: seq 是一個用于生成數(shù)字序列的命令。它的基本語

    2024年01月17日
    瀏覽(29)
  • shell腳本的循環(huán)

    除了if…then…fi 這種條件判斷式之外,循環(huán)可能是程序當中最重要的一環(huán)了。循環(huán)可以不斷地執(zhí)行某個程序段落,直到用戶設置的條件完成為止。所以,重點是那個【條件的完成】是什么,除了這種依據(jù)判斷式完成與否的不定循環(huán)之外,還有另外一種已經(jīng)固定要跑多少次循環(huán)

    2024年02月03日
    瀏覽(20)
  • shell腳本之循環(huán)語句

    shell腳本之循環(huán)語句

    將某代碼段重復運行多次,通常有進入循環(huán)的條件和退出循環(huán)的條件 一般知道循環(huán)次數(shù)使用for循環(huán) 不知道循環(huán)次數(shù),知道停止條件時一般使用while break跳出單個循環(huán)后面加數(shù)字2則代表跳出兩層循環(huán) continue終止某次循環(huán)中的命令,但是不會完全終止命令

    2024年02月12日
    瀏覽(23)
  • Shell腳本學習指南-查找與替換篇

    Shell腳本學習指南-查找與替換篇

    編寫 Shell腳本時經(jīng)常用到的兩個基本操作: 1.文本查找 (searching) — 尋找含有特定文本的行 2.文本替換(substitution) — 更換找到的文本 可以使用固定字符串完成很多工作,但是 正則表達式 能提供功能更加強大的標記法,以單個表達式匹配各種實際的文本段。 傳統(tǒng)上 ,有三

    2023年04月09日
    瀏覽(18)
  • Shell腳本while循環(huán)語句應用

    記錄 :433 場景 :Shell腳本while循環(huán)語句應用。Shell腳本while循環(huán)語句應用。while do done、while : do done、while true do done。 版本 :CentOS Linux release 7.9.2009。 1.while常用格式 1.1格式一:while do done 1.2格式二:無限循環(huán)(while : do done) 1.3格式三:無限循環(huán)(while true do done) 2.使用while遍歷數(shù)組

    2024年02月06日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包