2016-03-18 9 views
2

Hallo ich mit der Einstellung Alias ​​in mac ein Problem habe, nachdem ich den screen Befehl starten, ich habe Alias ​​für git arbeiten, wieUnix Bash alias arbeiten nicht nach dem Startbildschirm

commit=git commit 

sie arbeiten, wie ich erwarten wenn ich mein Terminal (iTerm2) starte, dann verwende ich manchmal screen, um gleichzeitige Instanzen in entfernten Servern und virtuellen Maschinen zu haben, mit denen ich arbeite. Danach verschwindet der Alias ​​(command not found).

Weiß jemand warum oder wie löst man es?

+0

Laufen Sie immer noch die gleiche Shell, z. B. ist Ihre Shell 'bash' sowohl außen als auch innen Bildschirm? –

+1

Ich nehme an, du meinst, du hast 'alias commit = 'git commit''? In welcher Datei ist das definiert? –

+0

Der Alias ​​verschwindet, nachdem Sie die Bildschirmsitzung beendet haben? – phk

Antwort

1

Sie müssen sicherstellen, dass Ihre Aliase in ~/.bashrc definiert sind, um sicherzustellen, dass sie in allen Anmeldungen enthalten sind. Sie können dies testen: bearbeiten Sie Ihre ~/.bashrc diese Zeile enthalten:

echo "bashrc" 

Und dann bearbeiten ~/.bash_profile diese Zeile enthalten:

echo "bash_profile" 

Sie sehen werden, wenn Sie screen starten, die nur „bashrc " wird angezeigt.

Siehe this question für viel mehr Details zu diesem Thema.

+0

Ja, Sie haben Recht, nur die bashrc wird ausgeführt, wenn ich den Bildschirm starte, danke! – user3377450

2

Damit der Alias ​​funktioniert, müssen Sie den Befehl alias verwenden. Zum Beispiel, um einen Alias ​​in Bash zu erstellen, tun Sie:

$ alias commit="git commit" 

Dies funktioniert vorübergehend dh .: in Ihrer aktuellen Shell. Um es "kleben" zu können, müssen Sie es in Ihre ~/.bashrc setzen. Dadurch wird es zu allen Instanzen von Bash geleitet, die Sie während Ihrer Terminalsitzung aufrufen.

Wenn Sie den Bildschirm starten, startet auch eine separate Bash, so dass Sie abgedeckt werden.

Sie schreiben etwas über VMs. Wenn Sie diesen Alias ​​benötigen, um dort zu arbeiten, müssen Sie ~/.bashrc auf diesen VMs die gleichen Aliase haben. Aber das ist die andere Geschichte. Sie sollten bereits wissen, wie Sie erreichen können, was Sie wollen.

+0

ja ich weiß was du meinst, ich wollte schnell sein, mein Alias ​​ist in .bash_profile, was eine höhere Priorität hat als .bashrc – user3377450

+0

Die Probleme mit '' .bash_profile'' und ''bashrc'' Ich debugge normalerweise, indem ich setze Ausdruck "echo I_AM_IN_BASH_RC'" und herausfinden, ob dieses '' echo'' ausgeführt wird, wenn Sie '' screen'' starten. Wenn Sie es nicht sehen, wird Ihre Datei nicht irgendwie gefunden. –

+0

Danke, ich dachte, dass wir beide geladen werden, aber nur .bashrc war, ich habe meinen Alias ​​dort und es funktioniert gut. Vielen Dank. – user3377450

Verwandte Themen