Строка Shell Concat из файла конфигурации

Я создал config.cfg, как это

DB_USERNAME='abcdef' DB_PASSWORD='1234' 

Тогда мой shell.sh прочитал config и попытался выполнить строку concat

 #! /bin/sh source config.cfg DB_CONN="${DB_USERNAME}/${DB_PASSWORD}" echo $DB_CONN 

как ожидается, будет abcdef/1234 но он возвращается как /1234f который выглядит как замена /1234 на верхний abcdef .

Где я совершил ошибку?

One Solution collect form web for “Строка Shell Concat из файла конфигурации”

Два недостатка

  1. В /bin/sh нет такой команды, как source . Возможно, вы хотели написать #!/bin/bash в первой строке или использовать . ./config.cfg . ./config.cfg вместо этого?
  2. Сценарий терпит неудачу, потому что вы создали / отредактировали файл config.cfg в системе Windows и скопировали файл (в двоичном режиме) в систему Unix / Linux.

Вы можете заменить окончания строки CR / LF правильными окончаниями LF, запустив dos2unix config.cfg или отредактировав файл в своем любимом редакторе на Unix / Linux и удалив символы ^ M, которые вы увидите в конце каждой строки.

  • Могу ли я указать перенаправленный вход перед составной командой?
  • GeeXbox ls не показывает дату?
  • В чем разница между встроенной командой echo и / bin / echo?
  • , / path / to / a / shell-script-file? (в сценарии оболочки)
  • Синтаксическая ошибка: "(" неожиданно при выполнении скомпилированной c-программы
  • Что я могу узнать об этой части кода?
  • cat <file.txt Кто отвечает за чтение файла?
  • "> / Dev / null 2> & 1" в выражении `if`
  • Как отключить трассировки bash?
  • Как создать случайную строку в псевдониме профиля?
  • Снижение синонима MySql и создание
  • Linux и Unix - лучшая ОС в мире.