Я пробовал различные формы следующего в сценарии bash:
#!/bin/bash
svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS"
Но я не могу получить синтаксис для правильного расширения переменной среды COLUMNS
.
Я пробовал различные формы следующего:
svn diff $@ --diff-cmd /usr/bin/diff -x '-y -w -p -W $COLUMNS'
а также
svn diff $@ --diff-cmd /usr/bin/diff -x '-y -w -p -W ${COLUMNS}'
а также
eval svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS"
Предложения?
svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W ""$COLUMNS"
- person Qian Chen   schedule 30.11.2015$@
без кавычек делает его точно таким же, как$*
, то есть разбивает"foo bar"
на два отдельных аргумента,foo
иbar
. Если вы хотите сохранить исходный список аргументов в том виде, в каком он был вам предоставлен, вам нужен"$@"
. - person Charles Duffy   schedule 21.09.2017