CMD для преобразования скрипта bash с точкой с запятой

Я пытаюсь преобразовать сценарий CMD (.bat) в сценарий .sh на стороне Linux.

Я не нашел подходящей документации, например, для следующих строк

set PATH = "${PATH1}%;${PATH_NAME};"

another_script.bat -create "%LocalDestination%TEST;%LocalDestination%" -e %GenericEnvironementName% -d "%SettingsPath%/Env"

Для первого это экспорт, но я не знаю, похоже ли это на условие if?

${PATH1}=${PATH_NAME}
export PATH=$PATH1

для второго выражение "%LocalDestination%TEST;%LocalDestination%" это как задание? почему мы ставим % в конце?

$LocalDestination$TEST = $LocalDestination

%GenericEnvironementName% будет $GenericEnvironementName%SettingsPath%/Env >>> $SettingsPath/Env?

🤔 А знаете ли вы, что...
Bash поддерживает механизмы подстановки и раскрытия переменных для удобной работы с текстом.


52
1

Ответ:

Решено
  • Переменные в файлах dos bat разделяются %, до И после. Таким образом, %VAR% заменяется значением VAR.
  • set PATH = "${PATH1};${PATH_NAME};" присваивает значения PATH1 и PATH_NAME переменной PATH, разделенные ;.
  • В Bash вы бы написали: export PATH = "$PATH1;$PATH_NAME"
  • Следовательно, да, любая ссылка на переменную в bash выполняется с помощью $ перед именем переменной. Так %TATA% становится $TATA.
  • Пример: %SettingsPath%/Env --> ${SettingsPath}/Env