2016-04-18 19 views
1

Ich möchte einen Prozess [MPD] starten, wenn ich Terminal öffnen, und überprüfen, ob es bereits ausgeführt wird, wenn ich eine zweite Registerkarte öffnen, so wird es nicht versuchen, es auszuführen nochmal. Das ist, was ich früher in meiner Bashrc haben:Fisch Shell: Überprüfen und einen Prozess ausführen, wenn nicht

#start mpd automatically if not yet running. 
if [[ -z "$(pgrep mpd)" ]]; then 
    mpd 
fi 

Ich nehme so etwas wie dieses ist, oder vielleicht test -f, aber ich kann nicht herausfinden, wie es funktioniert:

# MPD 
if pgrep mpd > /dev/null 
    command mpd 
end 

[dies befindet sich in meiner Datei config.fish].

+2

Was ist mit der Verwendung von 'wenn nicht pgrep -f mpd>/dev/null; Befehl mpd; Ende? –

+1

Perfekt !! scheint, als brauchte ich nur ein bisschen Hilfe. tks. – Miguelopezv

+0

Ich bin froh, dass es geholfen hat. –

Antwort

1

Sie könnten zu Ihrem config.fish hinzufügen.

if not pgrep -f mpd > /dev/null 
    command mpd 
end 

Oder wenn Sie Fisch> = 2.3.0 zu ~/.config/fish/conf.d/* für eine bessere Trennung von Bedenken verwenden.