J'ai un répertoire contenant des fichiers générés par le compilateur. Lors de chaque reconstruction, ce répertoire est nettoyé et, après le processus de construction, ls
me fournit une sortie vide. Après avoir quitté cd
du répertoire et y revenir, cela fonctionne correctement. Les questions sont:
cd
pour voir le contenu réel du répertoire?Votre script est probablement en train de supprimer le répertoire, et pas seulement les fichiers qui s'y trouvent. Donc, quand vous avez cd
'd dedans et que le répertoire est supprimé, vous faites ls
sur un répertoire qui n'existe pas réellement.
Par cd ..
et cd (directory)
, vous vous déplacez dans le répertoire (nouvellement créé) et les fichiers y sont comme vous le souhaitez.
La meilleure alternative consiste à ajouter le nom du répertoire à votre commande cd
au lieu de ls
et entrer et sortir du répertoire, puis de l'exécuter à partir du répertoire parent. Donc, ls YourSubdirectory
au lieu de simplement ls
.
Il y a même un moyen plus court: cd .
Cela semble étrange, mais il est court et actualise le répertoire:
cd `pwd`
Notez que ce sont des ticks arrières, pas des guillemets simples autour du pwd.
créer un alias refresh = "cd .. && cd -" qui ouvrira un répertoire puis cd dans le répertoire précédent
si vous êtes sûr d’avoir besoin d’une liste, vous pouvez avoir
alias refresh="cd .. && cd - && ls -lrt"
une fois que les ailas sont créés, stockez l’alias dans votre fichier ~/.bashrc en faisant
alias | grep refresh >> ~/.bashrc
afin qu'il soit disponible lors de votre prochaine connexion.
Ce que @Kent a dit ou: ne supprimez pas le répertoire mais seulement son contenu, vous pourrez ainsi rester dans le répertoire (sans "cd .. && cd -
") et "ls" fera ce que vous attendiez.
Ce serait mieux si vous ne supprimiez pas le répertoire, mais au lieu de cd ..; cd -
, vous pourriez faire cd $PWD
.