Ich verwende osascript
in Bash, um eine Nachricht im Benachrichtigungscenter (Mac OS X) über Apple Script anzuzeigen. Ich versuche, eine Textvariable von Bash an das Skript zu übergeben. Für eine Variable ohne Leerzeichen funktioniert das gut, aber nicht für eins mit Leerzeichen:
Definieren
%Vor%und mit
%Vor%funktioniert, aber mit
%Vor%ergibt
%Vor%Was muss ich ändern (ich bin neu dazu)? Danke!
Sie könnten stattdessen versuchen:
%Vor%Oder:
%Vor% Dies behebt das Problem der Manipulation von Variablen, die Leerzeichen in bash enthalten. Diese Lösung wirkt jedoch nichts gegen die Injektion von osascript-Code. Daher wäre es besser, eine der Lösungen von Charles Duffy zu wählen oder bash
-Parameter-Erweiterung zu verwenden:
Danke an mklement0 für diesen sehr nützlichen Vorschlag!
Diese Version ist im Gegensatz zu Varianten, die versuchen, String-Verkettungen zu verwenden, absolut sicher gegen Injektionsangriffe.
%Vor%... oder, wenn man es vorzieht, Code anstelle von argv in stdin einzugeben:
%Vor%Tags und Links bash syntax variables applescript osascript