Nach dem Ausführen des Programms lassen Sie die interaktive Shell laufen

9

Ich möchte ein beliebiges als Argument angegebenes Programm über die Shell ausführen möchte, dass die Shell als interaktive Shell übrig bleibt, um sie später zu verwenden.

%Vor%

Aber es funktioniert nicht mit zsh

%Vor%

sowie wenn jemand mehr verbesserte Art und Weise weiß, es zu tun lass es mich wissen.

    
Sharad 02.06.2011, 18:43
quelle

4 Antworten

3

Ansatz 1: bash, zsh und einige andere Shells lesen eine Datei, deren Name in der Umgebungsvariable ENV steht, nach den üblichen rc-Dateien und vor den interaktiven Befehlen oder dem auszuführenden Skript. Bash tut dies jedoch nur, wenn es als sh aufgerufen wird, und zsh tut dies nur, wenn es als sh oder ksh aufgerufen wird, was eher einschränkend ist.

%Vor%

Ansatz 2: Lassen Sie die Shell eine andere RC-Datei lesen, die die übliche RC-Datei bereitstellt und einen Aufruf des Programms enthält, das Sie ausführen möchten. Zum Beispiel für bash:

%Vor%

Für zsh muss die Datei .zshrc heißen, Sie können nur ein anderes Verzeichnis angeben.

%Vor%     
Gilles 02.06.2011, 19:32
quelle
2

Warum starten Sie nicht einfach eine neue Shell für interaktive Eingaben?

%Vor%     
Sec 05.06.2011 21:38
quelle
0

Ich benutze dies in einem Skript, um GUI-Programme von der Shell aufzurufen, habe es aber nicht mit zsh getestet

%Vor%     
Kim Stebel 02.06.2011 19:06
quelle
0
%Vor%

An diesem Punkt ist vim geöffnet.

%Vor%

shell ist für Sie übrig, um andere Arbeiten zu erledigen. In meiner Frage war die STDIN der Bash Shell HEREDOC (& lt; & lt; EOF), also für also funktioniert es nicht für den Befehl, der von TTY lesen möchte. Aber nach dem Bereitstellen der Befehlseingabe von / dev / tty beginnt es zu arbeiten.

Ich kann die Warnung nicht finden

%Vor%     
Sharad 07.09.2012 14:17
quelle

Tags und Links