Übergeben von Argumenten an ein Kommando in der Bash-Skript mit Leerzeichen

Ich versuche zu pass 2 Argumente einer Befehls-und jedes argument, die Leerzeichen enthalten, habe ich versucht, die Flucht der Räume, in args, ich habe versucht Verpackung in einfache Anführungszeichen gesetzt, ich habe versucht die Flucht \", aber nichts funktioniert.

Hier ist ein einfaches Beispiel.

#!/bin/bash -xv

ARG="/tmp/a b/1.txt"
ARG2="/tmp/a b/2.txt"

ARG_BOTH="\"$ARG\" \"$ARG2\""
cat $ARG_BOTH

Bin ich immer Folgendes, wenn es läuft:

ARG_BOTH="$ARG $ARG2"
+ ARG_BOTH='/tmp/a\ b/1.txt /tmp/a\ b/2.txt'
cat $ARG_BOTH
+ cat '/tmp/a\' b/1.txt '/tmp/a\' b/2.txt
cat: /tmp/a\: No such file or directory
cat: b/1.txt: No such file or directory
cat: /tmp/a\: No such file or directory
cat: b/2.txt: No such file or directory

InformationsquelleAutor Dougnukem | 2011-01-20

Schreibe einen Kommentar