Comment puis-je faire ce qui suit en utilisant le terminal sur OS X?
Créez un fichier nommé .inputrc
dans le répertoire personnel d'un utilisateur et mettez cette ligne dedans:
set completion-ignore-case On
la source
Comment puis-je faire ce qui suit en utilisant le terminal sur OS X?
Créez un fichier nommé .inputrc
dans le répertoire personnel d'un utilisateur et mettez cette ligne dedans:
set completion-ignore-case On
Réponse rapide
touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
Explication
Créez d'abord le fichier:
touch ~/.inputrc
Ensuite, ajoutez le contenu au fichier:
echo "set completion-ignore-case On" >> ~/.inputrc
touch
crée un fichier vide (en supposant que le ~/.inputrc
fichier n'existe pas déjà). echo
écrit du texte dans la "sortie standard" ("stdout" pour faire court), qui est normalement votre écran, mais en raison de la redirection ( >>
), la sortie est redirigée vers ~/.inputrc
. Cette configuration ajoutera la ligne au fichier.
S'il ~/.inputrc
existe déjà et que vous souhaitez effacer (écraser) son contenu, puis y écrire la ligne (c'est-à-dire créer un fichier avec uniquement cette ligne de texte), procédez comme suit:
echo "set completion-ignore-case On" > ~/.inputrc
La flèche unique ( >
), alias "supérieur à", indique echo
de créer un fichier avec uniquement le texte donné comme contenu du fichier, au lieu d'écrire le contenu à la fin du fichier. (En fait, echo
ne crée pas le fichier; le shell crée le fichier, en supprimant tout contenu existant et la echo
commande écrit le nouveau contenu.)
Si vous utilisez la première approche (avec le >>
) et que vous constatez que la ligne que vous avez ajoutée est effacée sur la ligne précédente, par exemple,
des trucs ici quelques autres trucs ici définissent l'achèvement-ignorer-cas
vous devez ensuite modifier le fichier pour le corriger. Cela se produirait si la dernière ligne du fichier préexistant se terminait par un caractère textuel plutôt que par un caractère "nouvelle ligne" (c'est-à-dire un marqueur de fin de ligne). Ceci est courant pour les .TXT
fichiers sous Windows, mais rare sur * nix.
Si vous vous rendez compte à l'avance que votre .inputrc
fichier a un contenu préexistant qui ne se termine pas par une nouvelle ligne, vous devez utiliser cette echo
instruction à la place:
echo -e "\nset completion-ignore-case On" >> ~/.inputrc
L' \n
avant la phrase est interprétée comme un caractère de nouvelle ligne, donc une nouvelle ligne est ajoutée après le contenu précédent et avant les nouveaux éléments que vous souhaitez ajouter.
Ou, légèrement plus typé mais beaucoup plus lisible,
echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
ou
(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc
qui font la même chose; c'est-à-dire, fournissez le caractère de nouvelle ligne manquant au texte existant, puis ajoutez la set completion-…
commande après cela.
touch
commande ici;echo "…" >> ~/.inputrc
c'est bien assez.echo "…" >> ~/.inputrc
créera le fichier s'il n'existe pas. À l'exception des cas pathologiques, comme~
n'existe pas, vous n'avez pas de permission d'écriture~
ou le système de fichiers est plein; et, dans de tels cas,touch
n'aidera pas.touch
est complètement superflu ici.Il vous suffit de:
echo
fait simplement écho au texte qui lui est donné via le canal de sortie normal (stdout)l'
>>
écrit la sortie stdout de la commande gauche au fichier de la main droite, ce qui dans votre cas est~/.inputrc
~/
est le même que/home/your_username/
la source