如何使用shell脚本在unix中访问文件时克服区分大小写。?
我在指定路径和脚本中有一个文件即file.txt,当访问名为FILE.txt的同一文件时,它会将错误抛出为无法打开文件。
请指导我如何在unix脚本中更改大小写来访问该文件。
如何在c shell中关闭区分大小写。
答案 0 :(得分:3)
文件名在Unix系统上区分大小写。正如您在同一目录中可能同时具有file.txt
和File.txt
一样,如果文件名不同,则让脚本认为文件名是好的是不安全的。但是,find
可以告诉您:
let my_file="$( find . -iname 'FILE.txt' -maxdepth 1 | head -n 1 )"
(head
)确保您只获得一个结果。
再一次,不要这样做,它是邪恶的。改变你的习惯并习惯于区分大小写。
答案 1 :(得分:2)
要关闭区分大小写,请在bash中使用nocaseglob
shopt -s nocaseglob
echo FILE.txt