2010-10-22 10 views
0

Comment surmonter la casse lors de l'accès à un fichier sous UNIX en utilisant un script shell.Sensibilité à la casse dans le script shell

J'ai un fichier à savoir file.txt dans le chemin de désignation et dans le script tout en accédant au même fichier avec le nom FILE.txt il renvoie l'erreur comme Impossible d'ouvrir le fichier.

Veuillez me guider comment accéder au fichier avec changement de casse dans les scripts Unix. Comment désactiver la sensibilité à la casse dans c shell.

+0

nous dans le scénario et ce qui échoue. Les noms de fichiers dans Unix sont sensibles à la casse, et il existe quelques options, mais le fait de savoir ce que vous faites vous aidera à obtenir une réponse efficace. – msw

+0

Sérieusement, [n'écrivez pas de scripts dans le shell C] (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/). –

Répondre

3

Les noms de fichiers sont sensibles à la casse sur les systèmes Unix. Comme vous pourriez avoir en même temps file.txt et File.txt dans le même répertoire, il n'est pas prudent de laisser un script considérer qu'un nom de fichier est bon lorsqu'il n'a pas le même cas. Cependant, find peut vous dire:

let my_file="$(find . -iname 'FILE.txt' -maxdepth 1 | head -n 1)" 

(head) vous assure un seul résultat.

Encore une fois, ne faites pas cela, c'est EVIL. Changez vos habitudes et familiarisez-vous avec la sensibilité à la casse.

2

Pour désactiver la sensibilité de cas, bash, vous pouvez utiliser nocaseglob

shopt -s nocaseglob 
echo FILE.txt 
+0

Comment désactiver la sensibilité à la casse dans c shell? – Shashang

Questions connexes