Kommando mit Variablen abkürzen?

Dieses Thema im Forum "Mac OS X" wurde erstellt von motionmountain, 24.12.2004.

  1. motionmountain

    motionmountain Thread Starter MacUser Mitglied

    Beiträge:
    10
    Zustimmungen:
    0
    MacUser seit:
    24.12.2004
    Statt die ganze Zeit
    ps2pdf filename.ps filename.pdf
    zu tippen, würde ich gerne
    pp filename
    tippen, und die definition von pp in .bash_profile speichern.

    Wie siet so eine Definition in bash aus?
    Oder wo kann man das in "man" heraussuchen?

    Danke!

    motionmountain
     
  2. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    man bash
    /alias

    Gruß,
    Ratti
     
  3. uppercut

    uppercut MacUser Mitglied

    Beiträge:
    174
    Zustimmungen:
    0
    MacUser seit:
    07.08.2004
    wenn ich mich nicht irre
    alias pp="ps2pdf filename.ps filename.pdf"
     
  4. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    Glaube ich nicht - ausser, er will jedesmal AUSSCHLIESSLICH die Datei "filename.ps" konvertieren. :)

    Eher
    alias pp="ps2pdf"

    Das ps-File wird weiterhin übergeben. Das pdf-File ist optional, wenn man es nicht angibt, wird aus banane-ps sowieso banane.pdf

    Gruß, Ratti
     
  5. IceHouse

    IceHouse MacUser Mitglied

    Beiträge:
    686
    Zustimmungen:
    22
    MacUser seit:
    03.06.2002
    Code:
    pp () { ps2pdf $1; }
    Nun kannst du z.B. pp hirsebrei.ps eintippen und es sollte das passieren, was du erwartest.

    Gruss von IceHouse
     
  6. ?=?

    ?=? MacUser Mitglied

    Beiträge:
    941
    Zustimmungen:
    14
    MacUser seit:
    09.02.2004
    . . . und die passende Erklärung zu IceHouse' CodeSnippet findest du hier ;)


    Gruß,

    ?=?
     
  7. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    Viele Wege führen nach Rom.

    Ich bilde mir allerdings ein, daß er mit meiner "alias"-Definition noch Parameter übergeben kann, z.B.

    pp ‐sPAPERSIZE=a5 banane.ps

    während diese Funktion die Parameter nicht weiterreicht?

    Gruß, Ratti
     
  8. IceHouse

    IceHouse MacUser Mitglied

    Beiträge:
    686
    Zustimmungen:
    22
    MacUser seit:
    03.06.2002
    Code:
    pp () { ps2pdf $1 $2; }
    Gruss von IceHouse
     
  9. ratti

    ratti MacUser Mitglied

    Beiträge:
    1.515
    Zustimmungen:
    56
    MacUser seit:
    09.05.2004
    Ne, geht nicht:

    > pp () { echo $1 $2; }


    > pp 1
    1
    OK.

    > pp 1 2
    1 2
    Auch OK.

    > pp 1 2 3
    1 2
    Können wir gelten lassen, weil drei Parameter nicht im Definitionsbereich sind.

    Aber:
    ratti@ratti:~$ pp -n 1 2
    1ratti@ratti:~$

    $1 wird "-n", $2 wird "1", und die 2 wird verschluckt. Deswegen wird bei:

    > pp () { ps2pdf $1 $2; }
    > pp ‐sPAPERSIZE=a5 quelle.ps ziel.pdf

    ...einfach "quelle.pdf" in a5 erstellt statt "ziel.pdf". Mit zwei Optionen gibt es dann völlige Bruchlandung.

    Wenn schon als Funktion, dann:
    > pp () { ps2pdf $@; }


    Gruß, Ratti
     
  10. IceHouse

    IceHouse MacUser Mitglied

    Beiträge:
    686
    Zustimmungen:
    22
    MacUser seit:
    03.06.2002
    Bei mir geht es. Ich habe nie etwas von der Angabe von ziel.pdf gesagt. Bei nichtangabe erstellt er aus dem Dokumentenname.ps ein dokumentenname.pdf.

    Ich sehe da nicht wirklich ein Problem.

    Gruss von IceHouse
     
Die Seite wird geladen...
Ähnliche Themen - Kommando Variablen abkürzen
  1. chell
    Antworten:
    7
    Aufrufe:
    458

Diese Seite empfehlen