Kommando mit Variablen abkürzen?

  1. motionmountain

    motionmountain Thread Starter MacUser Mitglied

    Mitglied seit:
    24.12.2004
    Beiträge:
    10
    Zustimmungen:
    0
    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
     
    motionmountain, 24.12.2004
    #1
  2. ratti

    ratti MacUser Mitglied

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

    Gruß,
    Ratti
     
    ratti, 24.12.2004
    #2
  3. uppercut

    uppercut MacUser Mitglied

    Mitglied seit:
    07.08.2004
    Beiträge:
    174
    Zustimmungen:
    0
    wenn ich mich nicht irre
    alias pp="ps2pdf filename.ps filename.pdf"
     
    uppercut, 24.12.2004
    #3
  4. ratti

    ratti MacUser Mitglied

    Mitglied seit:
    09.05.2004
    Beiträge:
    1.515
    Zustimmungen:
    56
    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
     
    ratti, 24.12.2004
    #4
  5. IceHouse

    IceHouse MacUser Mitglied

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

    Gruss von IceHouse
     
    IceHouse, 24.12.2004
    #5
  6. ?=?

    ?=? MacUser Mitglied

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


    Gruß,

    ?=?
     
    ?=?, 24.12.2004
    #6
  7. ratti

    ratti MacUser Mitglied

    Mitglied seit:
    09.05.2004
    Beiträge:
    1.515
    Zustimmungen:
    56
    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
     
    ratti, 24.12.2004
    #7
  8. IceHouse

    IceHouse MacUser Mitglied

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

    ratti MacUser Mitglied

    Mitglied seit:
    09.05.2004
    Beiträge:
    1.515
    Zustimmungen:
    56
    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
     
    ratti, 24.12.2004
    #9
  10. IceHouse

    IceHouse MacUser Mitglied

    Mitglied seit:
    03.06.2002
    Beiträge:
    686
    Zustimmungen:
    22
    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
     
    IceHouse, 24.12.2004
    #10
Die Seite wird geladen...
Ähnliche Themen - Kommando Variablen abkürzen
  1. chell
    Antworten:
    7
    Aufrufe:
    488
    lengsel
    19.09.2006