如何在使用shell腳本訪問unix中的文件時克服區分大小寫。shell腳本中的區分大小寫
我有一個文件,即指定路徑中的file.txt和腳本,同時訪問名稱相同的文件FILE.txt它引發錯誤,因爲無法打開文件。
請指導我如何在unix腳本中更改大小寫的情況下訪問文件。
如何關閉c shell中的區分大小寫。
如何在使用shell腳本訪問unix中的文件時克服區分大小寫。shell腳本中的區分大小寫
我有一個文件,即指定路徑中的file.txt和腳本,同時訪問名稱相同的文件FILE.txt它引發錯誤,因爲無法打開文件。
請指導我如何在unix腳本中更改大小寫的情況下訪問文件。
如何關閉c shell中的區分大小寫。
文件名在UNIX系統上區分大小寫。正如您在同一個目錄中可能同時有file.txt
和File.txt
一樣,如果腳本沒有相同的大小寫,則讓腳本認爲文件名是好的是不安全的。然而,find
可以告訴你:
let my_file="$(find . -iname 'FILE.txt' -maxdepth 1 | head -n 1)"
(head
)確保您獲得只有一個結果。
再次,不要這樣做,它是邪惡的。改變你的習慣並習慣於區分大小寫。
要關閉大小寫,在bash,你可以使用nocaseglob
shopt -s nocaseglob
echo FILE.txt
如何關閉c shell中的大小寫區分? – Shashang 2010-10-22 10:14:48
我們展示腳本,什麼是失敗的。 Unix中的文件名是區分大小寫的,並且有幾個選項,但是知道你在做什麼將有助於產生一個可行的答案。 – msw 2010-10-22 09:56:33
說真的,[不要在C shell中編寫腳本](http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/)。 – 2010-10-23 23:41:37