Определение нескольких переменных в bash исходном файле ведет себя по-разному - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть файл .env со следующим:

FST_TEST=1
SCD_TEST=2

Я запускаю source .env, а затем:

  • Если я запускаю echo "$FST_TEST$FST_TEST", он печатает 1 ,
  • Если я запускаю echo "$SCD_TEST$SCD_TEST", он печатает 22.

Я бы ожидал, что echo "$FST_TEST$FST_TEST" также напечатает 11, но мне не удается это сделать. .. Я думаю, что-то с символом Return.

Ответы [ 2 ]

3 голосов
/ 17 февраля 2020

Скорее всего, это потому, что файл .env находится в формате Windows / DOS. Можете ли вы сделать:

dos2unix .env

С концом строки DOS FST_TEST = 1 на самом деле FST_TEST = 1 \ r. \ r делает курсор go к началу строки, поэтому 1, которую вы видели, - это две 1, одна сверху другой. Во второй строке вы не ставили конец строки, поэтому проблем не было.

0 голосов
/ 17 февраля 2020

Не уверен, что содержится в вашем .env файле. Можете ли вы отправить его содержимое ??

Возможно попробуйте это: echo $ {FST_TEST} $ {FST_TEST}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...