Ich habe verschiedene Formen der folgenden in einem Bash-Skript ausprobiert:
#!/bin/bash
svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS"
Aber ich kann die Syntax nicht bekommen, um die COLUMNS
Umgebungsvariable korrekt zu erweitern .
Ich habe verschiedene Formen der folgenden ausprobiert:
svn diff $@ --diff-cmd /usr/bin/diff -x '-y -w -p -W $COLUMNS'
und
svn diff $@ --diff-cmd /usr/bin/diff -x '-y -w -p -W ${COLUMNS}'
und
eval svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS"
Vorschläge?
svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W ""$COLUMNS"
$@
nicht zitiert verwenden, ist es genau das Gleiche wie $*
- das heißt, es wird "foo bar"
in zwei separate Argumente aufgeteilt, foo
und bar
. Wenn Sie die ursprüngliche Argumentliste so beibehalten möchten, wie sie Ihnen gegeben wurde, möchten Sie "$@"
.