Diese Antwort gab mir cd -
die Abkürzung, in mein vorheriges Verzeichnis in Bash zu wechseln. Es gibt ein großes Problem: Es druckt das Verzeichnis, in das es wechselt, und verschwendet meinen Bildschirmplatz, da dieses Verzeichnis dann in der Eingabeaufforderung in der nächsten Zeile wiederholt wird.
Ich weiß, dass ich es kann cd $OLDPWD
, auch in dieser Antwort erwähnt, und cd - >/dev/null
das ist viel mehr Tippen.
Auf der bash
Manpage steht:
... oder wenn - das erste Argument ist und der Verzeichniswechsel erfolgreich ist, wird der absolute Pfadname des neuen Arbeitsverzeichnisses in die Standardausgabe geschrieben.
Wie kann ich -
nicht das erste Argument sein? Mit einem der cd
optionalen Argumente? Gibt es eine andere Möglichkeit, das Echo zu unterdrücken oder die Eingabe zu minimieren, ohne dass auf jeder Maschine, mit der ich arbeite, Funktionen / Aliase definiert werden müssen?
quelle
Antworten:
cd
berücksichtigt nur das erste Argument und ignoriert alle anderen. Keine der Optionen beeinflusst das Echo des vorherigen Pfadnamens (möglicherweise hat der dokumentierte-@
diesen Effekt, aber das ist eine ungültige Option auf meinem System).Wenn Sie keinen Alias / keine Funktion verwenden möchten, mit der Sie möglicherweise noch weniger Zeichen eingeben als
cd -
umleiten oder umleiten können/dev/null
, empfehle ich, die spezielle Tilde-Erweiterung inbash
:Von der
bash
Manpage:Dies scheint in noch einem anderen Bereich zu sein ,
bash
wo einige besondere Bedeutung geschaffen. Die Tilde-Erweiterung funktioniert normalerweise auf dem $ DIRSTACK, der von, manipuliert / untersuchtpushd
wurdepopd
, unddirs
kann auch in anderen Befehlen verwendet werden (cp ~-/somefile .
). Wenn Sie sie verwendet haben, könnenpushd
Sie sie verwenden~N
(wobei N eine Anzahl von zurückgeschobenen Ebenen ist), um zu gelangen diese Verzeichnisse (fürcd
oder andere Befehle).Übrigens, wenn Sie Konten auf mehreren Computern haben und davon ausgehen, dass Sie sich mit ssh von einem Ort aus bei ihnen anmelden, sollten Sie Folgendes hinzufügen
~/.bashrc
:und dann haben Sie ein Skript auf Ihrem Arbeitscomputer, mit
scp
dem Siebash_common
auf jeden dieser Computer "pushen" können. Auf diese Weise können Sie gemeinsame Funktionen auf mehreren Computern mit minimalem Overhead hinzufügen und gemeinsam nutzen.quelle