VS2013 или VS2015 показывает & ldquo; неопределенную ошибку & rdquo;

Я наткнулся на этот поток, когда я пытался повторно использовать Docker --env-file s в оболочке. Их формат не совместим с bash, но он прост: name=value, без цитирования, без подстановки. Они также игнорируют пустые строки и комментарии #.

Я не мог получить его совместимым с posix, но вот тот, который должен работать в bash-подобных оболочках (проверен в zsh на OSX 10.12.5 и bash на Ubuntu 14.04):

while read -r l; do export "$(sed 's/=.*$//' <<<$l)"="$(sed -E 's/^[^=]+=//' <<<$l)"; done < <(grep -E -v '^\s*(#|$)' your-env-file)

Он не будет обрабатывать три случая в примере из документов, связанных выше:

  • bash: export: `123qwe=bar': not a valid identifier
  • bash: export: `org.spring.config=something': not a valid identifier
  • , и он не будет обрабатывать синтаксис пересылки (голый FOO)

30
задан Richard 21 December 2015 в 08:40
поделиться