Ich versuche, Reminder.app-Elemente über die Befehlszeile hinzuzufügen, indem ich einen Alias aufrufe. Ich verwende die Automator-Workflow-Lösung aus dieser Frage: Wie kann ich Erinnerungen über die Befehlszeile hinzufügen? , der über die folgende Befehlszeileneingabe einen grundlegenden Workflow aufruft, der ein leeres Erinnerungselement enthält:
automator -i remindertext add_reminder.workflow
Das funktioniert perfekt, ist aber ungeschickt zu tippen, also möchte ich einen Alias dafür festlegen. Meine Frage ist: Wie lege ich einen Alias in .zshrc fest, mit dem ich den Text des Erinnerungselements festlegen kann, wenn ich den Alias aufrufe? Es müsste grundsätzlich in der Lage sein, "Erinnerungstext" durch eine Variable zu ersetzen, wie folgt:
alias reminder='automator -i <variable> add_reminder.workflow'
Ist dies in zsh/oh-my-zsh möglich?
Aliase werden als Abkürzungen verwendet - einfache Befehle, die sich zu längeren erweitern lassen. Wenn Sie ihm ein Argument übergeben müssen, müssen Sie eine Funktion erstellen. Probieren Sie vielleicht etwas wie:
reminder () { automator -i $1 add_reminder.workflow' }
Hier wird $1 zum ersten Argument erweitert, das Sie an die Funktion übergeben haben. Sie müssen also Folgendes tun:
reminder "Buy potatoes"
PS: Ich habe es nicht ausprobiert, da ich zsh gerade nicht bei mir habe, also wenn es kaputt geht, ruf mich an.
in Zonen aufgeteiltes Postmeridiem
function reminder () {automator -i $1 add_reminder.workflow}
Funktioniert perfekt.in Zonen aufgeteiltes Postmeridiem
Zigii Wong
weather() { curl -4 http://wttr.in/$1 }
umweather newyork
Alias zu aktivieren, der ursprüngliche Befehl lautetcurl -4 http://wttr.in/newyork
Igor Tschubin
weather
zwischen $1 und } (2) Es ist besser, ${1:-newyork} zu verwenden, in diesem Fall wird newyork standardmäßig verwendet, wenn Sie starten, und Sie können zusätzliche Parameter angeben, wenn Sie es überschreiben möchten; (3) Sie brauchen -4 nicht mehr, es funktioniert trotzdem nein;wttr
(4) Ich würde vorschlagen, use stattweather
für den Funktionsnamen zu verwenden : Er ist kurz und eindeutig und es ist offensichtlich, was er bedeutet