ich einen kleinen Bash-Skript geschrieben, die um so aussieht:Ein Problem mit Anführungszeichen in einem Bash-Aufruf einer Funktion
VAR1="test"
VAR2="test2"
letsDoSomeStuff() {
echo $1
echo $2
echo $3`
}
fswatch -0 . | xargs -0 -n 1 -I {} bash -c 'letsDoSomeStuff {} "$VAR1 $VAR2"'
Was ich tun möchte, ist für Änderungen in einem Ordner suchen (über das swatch) und dann ein paar Sachen mit den geänderten Dateien in einer Funktion im Bash-Skript machen. Leider muss ich die $ VAR1 und $ VAR2 als Parameter weitergeben, da sie den Xargs-Aufruf nicht "überleben".
Die bash scripts funktioniert gut. $ VAR1 und $ VAR2 werden jedoch nicht ordnungsgemäß an die Funktion übergeben. Wenn ich das Skript starte, gibt es für jede geänderte Datei aus:
Kann mir hier jemand helfen? Ich schätze, ich vermassele die einfachen und doppelten Anführungszeichen, finde aber nicht den richtigen Weg.
Vielen Dank im Voraus
Norbert
Mit $ VAR1 und $ VAR2 zusammen dreht sich in einfachen Anführungszeichen sie, in ein Token so Sie werden als ein einziges Argument für letsDoSomeStuff betrachtet. –