Verketten von Terminalbefehlen in .bash_profile [duplizieren]

0

Mögliche Duplikate:
Wie kann ich auf einem Mac Befehle gruppieren, die ich in einen Alias ​​ausführen möchte?

Ich benutze schon eine Weile Aliase, kann aber anscheinend nicht herausfinden, wie ich Befehle richtig verketten kann. Gibt es zum Beispiel eine Möglichkeit, einen Alias ​​einzugeben und mehrere Befehle wie diesen zu verketten?

'cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/'
mate .
open /Applications/MAMP/MAMP.app/
open -a Safari http://localhost:8888/
Tom Wahlin
quelle

Antworten:

4

Verwenden Sie Shell-Funktionen:

function mampMate() {
    cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/
    mate .
    open /Applications/MAMP/MAMP.app/
    open -a Safari http://localhost:8888/
}

Fügen Sie diese zu Ihrem hinzu .bash_profile und durch Eingabe ausführen

mampMate

Sie können sogar Parameter übergeben und über deren Index als darauf zugreifen $1, $2, usw.

function foo() {
    echo "1: $1"
    echo "2: $2"
}

$ foo bar baz
1: bar
2: baz

Einen Schritt weiter und um Ihr Skript unabhängiger von Ihrer bevorzugten Shell zu machen, handelt es sich um Skripte. Erstellen Sie eine Datei mit dem Namen mampMate.sh und fügen Sie Folgendes hinzu:

#!/usr/bin/env bash
cd /Applications/MAMP/htdocs/V3/wp-content/themes/V3/
mate .
open /Applications/MAMP/MAMP.app/
open -a Safari http://localhost:8888/

Dies ändert jedoch nichts an Ihrem Arbeitsverzeichnis, da es sich nicht auf Ihre Shell-Sitzung auswirkt.

Lauf chmod +x mampMate.sh und legen Sie es in ein Verzeichnis auf Ihrer $PATH.

Daniel Beck
quelle
Perfekt, danke für die Erklärung!
Tom Wahlin