Cette réponse m'a donné un cd -
raccourci pour passer à mon répertoire précédent dans Bash. Il a un problème majeur: il imprime le répertoire dans lequel il change, gaspillant mon espace d'écran, car ce répertoire est ensuite répété dans l'invite de la ligne suivante.
Je sais que je peux le faire cd $OLDPWD
, également mentionné dans cette réponse, cd - >/dev/null
mais c'est beaucoup plus de frappe.
Dans la bash
page de manuel, il est écrit:
... ou si - est le premier argument et que le changement de répertoire est réussi, le nom de chemin absolu du nouveau répertoire de travail est écrit dans la sortie standard.
Comment puis-je faire -
pour ne pas être le premier argument? En utilisant l'un des cd
arguments facultatifs? Une autre façon de supprimer l'écho ou de minimiser la saisie sans avoir à définir de fonctions / alias sur chaque machine avec laquelle je travaille?
la source
Réponses:
cd
ne prend en compte que le premier argument, en ignorant tous les autres. Aucune des options n'influence l'écho du chemin d'accès précédent (peut-être que le documenté-@
a cet effet, mais c'est une option invalide sur mon système).Si vous ne voulez pas utiliser d'alias / fonction, ce qui pourrait vous donner encore moins de caractères à taper
cd -
ou rediriger vers/dev/null
, ma suggestion est de commencer à utiliser l'expansion spéciale tilde dansbash
:Depuis la
bash
page de manuel:Cela semble être un autre domaine dans
bash
lequel une signification particulière a été créée. Tilde extension fonctionne normalement sur la DIRSTACK $, manipulé / étudié parpushd
,popd
etdirs
, il peut être utilisé dans d' autres commandes aussi bien (cp ~-/somefile .
) et si vous avez utilisé ,pushd
vous pouvez utiliser~N
(où N est un nombre de niveaux repoussé) pour se rendre à ces répertoires (pourcd
ou autres commandes).BTW si vous avez des comptes sur plusieurs machines et en supposant que vous utilisez ssh pour vous y connecter à partir d'un seul endroit, vous devriez envisager d'ajouter à votre
~/.bashrc
:puis avoir un script sur votre machine de travail qui utilise
scp
pour "pousser"bash_common
vers chacune de ces machines. De cette façon, vous pouvez ajouter et partager des fonctionnalités communes sur plusieurs machines avec un minimum de frais généraux.la source