Ich kann mein aktuelles Arbeitsverzeichnis wie folgt drucken:
myPrompt$ pwd /Users/me/myDir
Ich möchte meine Shell so aussehen
/Users/me/myDir$ pwd /Users/me/myDir
Ist das möglich? Wie kann ich das machen?
Kommentare
- Unter OS X lautet der Name der Datei .bash_profile und nicht nur .profile. Das wird für Sie automatisch geladen.
- Nicht ganz. OSX startet standardmäßig Login-Shells und das bedeutet, dass bash nach
~/.bash_profile
,~/.bash_login
und~/.profile
in dieser Reihenfolge und liest und führt Befehle von dem ersten aus, der vorhanden und lesbar ist. In jedem Fall ist dies wirklich ein Kommentar und keine Antwort, daher konvertiere ich ihn in einen.
Antwort
Sie können Escape-Sequenzen in Eingabeaufforderungsvariablen verwenden.
Fügen Sie dies in Ihre ~/.bashrc
ein:
PS1="\w\$ "
Kommentare
- anke. Ich habe diese Änderung vorgenommen. Jetzt sehe ich: Abrams-MacBook-Air-3: tmp abramhandler $ pwd; / Users / abramhandler / tmp Abrams-MacBook-Air-3: tmp abramhandler $ …. Ich möchte nur den Teil anzeigen, der “ tmp für meine Eingabeaufforderung. Wie verstecke ich den Rest? Ich möchte den “ abramhandler “ und “ Abram s-MacBook-Air-3 “ Teile
- @ akh2103 Verwenden Sie
\W
anstelle von\w
. Unter dem Link, den Gilles Ihnen gegeben hat, finden Sie eine (kurze) Erklärung der Fluchtcodes. - @terdon Ich sehe dasselbe mit \ W und \ w. Ich verwende Unix unter OSX.
- @ akh2103 Wenn Sie OSX ausführen und die Terminal-App verwenden, sollten Sie Änderungen an ~ / .profile und nicht .bashrc vornehmen, da das Terminal standardmäßig eine Anmeldeshell ausführt. Sie sollten auch ~ / .profile als Quelle angeben oder ein neues Terminal öffnen, damit die Änderungen wirksam werden. Bitte bearbeiten , um weitere Informationen hinzuzufügen. ‚ kann nicht verstehen, wonach Sie in Ihrem letzten Kommentar fragen .
- @terdon Wenn ich source ~ / .profile ausführe, ändert sich der Pfad im aktuellen Terminal ordnungsgemäß. Aber wenn ich ein neues Terminal öffne, sehe ich immer noch “ abram ‚ s Macbook Air “ etc. Ich habe versucht, Source ~ / .profile sowohl zu den .profile- als auch zu den .bashrc-Dateien hinzuzufügen, aber immer noch kein Glück. Irgendwelche Ideen?
Antwort
Hier ist ein Einzeiler für OSX. Es wird die gewünschte Eingabeaufforderung angehängt die Profildatei und lädt dann das Profil neu.
echo "PS1="\w\$ "" >> ~/.bash_profile; source ~/.bash_profile
Auf El Capitan möchten Sie
echo "PS1="\w\$ "" >> ~/.profile; source ~/.profile
Antwort
Aus irgendeinem Grund hat "\w\$"
bei mir nicht funktioniert, sondern bei mir hat: export PS1="$(pwd) \$"
und es hat funktioniert.
Kommentare
- Das funktioniert nicht so gut, wenn Sie Verzeichnisse ändern …
Antwort
Sieht aus wie ein alter Thread, aber die folgenden Schritte haben unter Betriebssystem für mich funktioniert X 10.9.5
- Geben Sie
PS1="\w\$ "
in~/.profile
- ein, wenn Sie dies gemacht haben Alle Änderungen in
~/.bashrc
entfernen Sie sie. - Schließen Sie das Terminal mit cmd + q
ffnen Sie das Terminal erneut.
Kommentare
- In meinem Fall die Der vollständige Pfad ist wirklich groß, daher habe ich ein weiteres Flag für die nächste Zeile hinzugefügt, z. B. PS1 = ‚ \ w \ n \ $ ‚
Antwort
Einfache Lösung
Öffnen Sie ~/.bash_profile
und fügen Sie den folgenden Inhalt hinzu
# \[\e[0m\] resets the color to default color reset_color="\[\e[0m\]" # \[\033[33m\] sets the color to yellow path_color="\[\033[33m\]" # \e[0;32m\ sets the color to green git_clean_color="\[\e[0;32m\]" # \e[0;31m\ sets the color to red git_dirty_color="\[\e[0;31m\]" # determines if the git branch you are on is clean or dirty git_prompt () { # Is this a git directory? if ! git rev-parse --git-dir > /dev/null 2>&1; then return 0 fi # Grab working branch name git_branch=$(git branch 2>/dev/null| sed -n "/^\*/s/^\* //p") # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then git_color="${git_clean_color}" else git_color="${git_dirty_color}" fi echo " [$git_color$git_branch${reset_color}]" } export PS1="${path_color}\w\[\e[0m\]$(git_prompt)\n"
Dies sollte:
1) Prompt the path you"re in, in color: path_color. 2) Tell you which branch are you. 3) Color the name of the branch based on the status of the branch with git_clean_color for a clean work directory and git_dirty_color for a dirty one. 4) The brackets should stay in the default color you established in your computer. 5) Puts the prompt in the next line for readability.
Mit dieser -Liste
Eine andere Option ist die Verwendung der Git Bash-Eingabeaufforderung, die mit this . Ich habe die Option über Homebrew unter Mac OS X verwendet.
git_prompt_list_themes
, um die Themen anzuzeigen, aber ich mochte keines von ihnen.
git_prompt_color_samples
, um verfügbare Farben anzuzeigen.
git_prompt_make_custom_theme [<Name of base theme>]
Um ein neues benutzerdefiniertes Design zu erstellen, sollte ein .git erstellt werden -prompt-colors.sh-Datei.
subl ~/.git-prompt-colors.sh
, um git-prompt-colors.sh zu öffnen und anzupassen:
Die .git- Die Datei prompt-colors.sh sollte mit meiner Anpassung
override_git_prompt_colors() { GIT_PROMPT_THEME_NAME="Custom" # Clean or dirty branch if git diff --quiet 2>/dev/null >&2; then GIT_PROMPT_BRANCH="${Green}" else GIT_PROMPT_BRANCH="${Red}" fi } reload_git_prompt_colors "Custom"
so aussehen. Diese Antwort basiert auf meiner SO-Antwort, die Sie unter hier . Hoffe das hilft, einen schönen Tag!
Kommentare
- Ich denke, das OP wollte einfach die Shell ‚ s anzeigen Arbeitsverzeichnis. Als normaler Git-Benutzer verwende ich ‚ auch eine ausgefallene Git-fähige Eingabeaufforderung, aber das scheint hier übertrieben zu sein.