shell脚本中的区分大小写

时间:2010-10-22 09:49:56

标签: unix shell

如何使用shell脚本在unix中访问文件时克服区分大小写。?

我在指定路径和脚本中有一个文件即file.txt,当访问名为FILE.txt的同一文件时,它会将错误抛出为无法打开文件。

请指导我如何在unix脚本中更改大小写来访问该文件。

如何在c shell中关闭区分大小写。

2 个答案:

答案 0 :(得分:3)

文件名在Unix系统上区分大小写。正如您在同一目录中可能同时具有file.txtFile.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