bash中正確處理檔案或路徑名中的空格

2021-09-28 05:56:34 字數 823 閱讀 1920

筆者在用乙個pdftohtml命令把一大堆**生成**的指令碼書寫過程中,遇到乙個問題:

**名稱的空格在下面的**中會被錯誤分割

#!/bin/bash

forfile

in$(

ls $1)

# 這裡的$1是第乙個輸入引數,遍歷$1下的檔案

doecho

$file

done

目錄是這樣的執行結果是這樣的,很明顯沒能處理好空格 "\ "

解決方法很簡單,加雙引號即可:

#!/bin/bash

forfile

in"$(

ls $1)

"# 這裡的$1是第乙個輸入引數,遍歷$1下的檔案

doecho

"$file"

done

做了個遍歷目錄下的所有檔案的函式,**如下

#/bin/bash

function getdir(

)getdir $1

# 接受命令行引數

# 如果這個shell檔案儲存為 getdir, 並且有執行許可權: chmod +x getdir

# 執行例如: ./getdir ~/

iOS中正確處理dealloc方法

當我們繼承類的時候,子類例項在構造的時候順序是先高用父類的構造方法,再呼叫子類的構造方法。在c c 是如此,在objc中也是如此,在ios開發中,我們會看到這樣的 1.void init 2.8.9.return self 10.看到沒,初始化的時候都是先呼叫父類的初始化方法,為什麼呢,因為父類更老...

正確處理 Memory Warning

我們知道,建立viewcontroller時,執行順序是loadview viewdidload。當收到記憶體警告時,如果viewcontroller未顯示 在後台 會執行didreceivememorywarning viewdidunload 如果viewcontroller當前正在顯示 在前台...

如何正確處理SQL SERVER日誌檔案

正確的處理日誌的方法 壓縮日誌及資料庫檔案大小 特別注意 請按步驟進行,未進行前面的步驟,請不要做後面的步驟 否則可能損壞你的資料庫.一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟失資料 第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.下面的所有庫名都指你要處理...