Как вводить путь с пробелом?

У меня есть основной файл, который использует (из основного источника я) источник файлов с переменными, указывающими на пути.

Файл свойств выглядит так:

TMP_PATH=/$COMPANY/someProject/tmp OUTPUT_PATH=/$COMPANY/someProject/output SOME_PATH=/$COMPANY/someProject/some path 

Проблема заключается в SOME_PATH , я должен использовать путь с пробелами (я не могу его изменить).

Я попытался избежать пробелов с кавычками, но до сих пор нет решения.

Я редактировал пути, проблема с одинарными кавычками – я использую другую переменную $COMPANY в пути

Используйте один из этих трех вариантов:

 SOME_PATH="/mnt/someProject/some path" SOME_PATH='/mnt/someProject/some path' SOME_PATH=/mnt/someProject/some\ path 

Я вижу Федерико, что вы нашли решение самостоятельно. Проблема была в двух местах. Присвоениям требуется правильное цитирование, в вашем случае

 SOME_PATH="/$COMPANY/someProject/some path" 

является одним из возможных решений.

Но в оболочке эти кавычки не хранятся в памяти, поэтому, когда вы хотите использовать эту переменную, вам нужно процитировать ее снова, например:

 NEW_VAR="$SOME_PATH" 

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

 NEW_VAR=/YourCompany/someProject/some path 

который не то, что вы хотите.

Для получения дополнительной информации вы можете проверить мою статью об этом http://www.cofoh.com/white-shell

Вы можете избежать символа «пробел», поставив a \ right перед ним.

 SOME_PATH=/mnt/someProject/some\ path 

должно сработать

Если файл содержит только назначения параметров, вы можете использовать следующий цикл вместо его поиска:

 # Instead of source file.txt while IFS="=" read name value; do declare "$name=$value" done < file.txt 

Это избавляет вас от необходимости цитировать что-либо в файле и также более безопасно, так как вы не рискуете выполнить произвольный код из file.txt .

Если путь в Ubuntu «/ home / ec2-user / Name of Directory», выполните следующие действия:

1) Файл build.properties от Java:

 build_path='/home/ec2-user/Name\\ of\\ Directory' 

Где ~/ равно /home/ec2-user

2) Дженкинс:

 build_path=buildprops['build_path'] echo "Build path= ${build_path}" sh "cd ${build_path}" 
  • Замените поле на значения, указанные в другом файле
  • Есть ли плагин Eclipse для запуска системной оболочки в консоли?
  • Баш, как глобально исправить ^ H и ^? Проблемы с обратным пространством
  • Нечувствительное к регистру сравнение строк в сценарии оболочки
  • Linux переименовывается с использованием параметров и пробелов?
  • Как запустить mvim (MacVim) из терминала?
  • Как запустить файлы в C #
  • Извлечь подстроку в Bash
  • Как получить PID фонового процесса?
  • Сценарий оболочки Bash - синтаксический анализ csv
  • Почему люди пишут скрипт #! / Usr / bin / env python в первой строке скрипта Python?
  • Давайте будем гением компьютера.