Austrian Linux Forum

Shell Scripts

Kategorien: Linux Software
3 Antworten
shevegen
shevegen am Mittwoch, 14. September 2005 um 18:45
Hmm ein Topic über Scripts generell wäre nicht schlecht. Egal. Ich muss (möchte) ein Shell script schreiben, in dem ich nicht mehr "cd /directory" schreiben möchte. Bin ein wenig überfordert, brauche nur ein paar tips, den Rest werd ich im Laufe der Zeit schon zusammenstellen (wär natürlich noch besser wenn einer von euch das hätte bzw wüsste. ich weiss das es geht, Gobolinux verwendet es) Ein paar snippets mit Ideen, ist aber so falsch wie nur irgend etwas ;) #!/bin/bash # A script to cd into a directory without actually typing "cd". Variable für das current working dir CUR_DIR=pwd #Wie lese ich nun cd ein? pwd $CUR_DIR # wenn das eingegeben command KEIN command ist, also zB # nicht ls, pwd, man, cat etc.. # DANN # - nimm an, das es sich um dieses shell script handelt und # füge vorne ein 'cd_' hinzu (wobei _ für ein leerzeichen steht) # gibts auch kein directory dazu, dann tipp aus das "command foo ist nicht vorhanden) # oder ähnliches --- keine ahnung wie das geht ... --- if [ arg != command_list() ] # cd arg elseif ... error code 1 ? echo "command $arg ist nicht vorhanden." fi? exit 0 # return code von 0 wenn ...

Kommentare

sec
sec am Donnerstag, 24. Juni 2004 um 13:49

Die verwenden wahrscheinlich die zsh, nicht die bash. Ich wüsste nicht, wie du das mit einem Shell-Skript hinkriegen könntest.

theEdge
theEdge am Donnerstag, 24. Juni 2004 um 13:50

ne, ich glaub ein eigenes forum für shellscripts is nicht notwendig, bzw kann man im nachhinein immernoch machen, ansosten zerläuft sich das alles..

wegen deinem script: mit welchem befehl, wenn ich fragen darf, willst du sonst wechseln, oder willst du nur den pfad eingeben und dann dorthin wechseln? find ich reichlich umständlich ein script dafür zu schreiben, zumal cd ohnehin so ziemlich der kürzeste befehl gleich nach ll ist ;)

shevegen
shevegen am Mittwoch, 14. September 2005 um 18:45

Kürzer gehts mit zsh. Einfach die ersten paar Buchstaben eintippen, dann TAB drücken, und dann ENTER (vielleicht gehts noch kürzer).

Auf alle Fälle wechselt man damit in das gewünschte Verzeichnis (ausser man hat irgendwelche komischen Einstellungen mit TAB Completion gemacht... hatte ich mal hehe)

Ich persönlich nutze nun eher vordefinierte Pfade in meinen aliases.
"ubin" würde zB nach /usr/bin wechseln, und so weiter.

Ist ein Kompromiss.
Und ja, cd ist kurz, allerdings kommt danach noch ein Leerzeichen, sind schon mal 3 Zeichen

Zu den "shell scripts" hätte ich eher "management scripts" gesagt.
Ich weiss ja nit wie es bei euch ist, aber ich nutze mehr und mehr scripts. Nett wäre auf jeden Fall
eine Sammlung von scripts die allgemeine Sachen erledigen. Und das sollte sich nit unbedingt auf #!/bin/sh syntax beschränken, python, ruby, perl, io, lua, ocaml, denke ich sollte man auch einbeziehen - die Grundaufgabe für ein script bleibt ja gleich, egal in welcher Sprache es realisiert wurde.