2016-06-17 7 views
1

In der Bash-Shell, was ist der Befehl, um auf der Grundlage von zwei Eingabeargumenten in ein spezielles Verzeichnis zu gehen?Übergeben von Eingabeargumenten an einen Bash-Alias ​​/ Funktion

Der Befehl I ist diese ausgeführt werden wollen:

cd /home/btfoouser/mia_YOCTO/build_4/build/tmp-eglibc/deploy/images/p99/ 

I build4 und p99 als meine Eingabeargumente an den Befehl cd von der Kommandozeile übergeben werden soll.

Zum Beispiel wird der Befehl my_cd build_4 p99 sein, die zu

übersetzen lassen sollte
cd /home/btfoouser/mia_YOCTO/build_4/build/tmp-eglibc/deploy/images/p99/ 

Ich habe versucht:

alias my_cd ='cd /home/btfoouser/mia_YOCTO/$1/build/tmp-eglibc/deploy/images/$2' 
+0

Bitte folgen Sie dieser [URL] (http://stackoverflow.com/help) es wird nützlich sein, um Ihnen zu helfen, Ihre Content-Qualität zu erhöhen –

Antwort

2

Aliases keine Argumente analysieren. Verwenden Sie eine Funktion:

my_cd() { cd "/home/btfoouser/mia_YOCTO/$1/build/tmp-eglibc/deploy/images/$2"; } 

Um die Funktion dauerhaft zu machen, setzen Sie es in Ihrem ~/.bashrc Datei.

+3

Es gibt einen Dirty-Hack, um Aliase Argumente zu nehmen: 'alias my_cd = ' {lese xy; cd "/home/btfoouser/mia_YOCTO/ $ x/build/tmp-eglibc/deploy/images/$ y"; } <<< ''& dann' my_cd "dir1 dir2" 'Das ist natürlich keine Empfehlung, sondern nur zur Information ... – anishsane

+0

@anishsane Netter böser Hack! – John1024

Verwandte Themen