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 COLUMNSUmgebungsvariable 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, foound bar. Wenn Sie die ursprüngliche Argumentliste so beibehalten möchten, wie sie Ihnen gegeben wurde, möchten Sie "$@".