У меня есть необходимость установить Homebrew на удаленный компьютер Mac, и из-за некоторых дизайнерских решений единственный способ запустить что-либо на этом компьютере - выполнить скрипт Ant.
Я пытаюсь адаптировать инструкции с веб-сайта Homebrew и запустить эквивалент этого:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
... из файла сборки Ant. Вот оно:
<project name="default" default="homebrew">
<target name="ruby" >
<echo message="Checking Ruby..." />
<exec executable="/usr/bin/ruby">
<arg value="--version"/>
</exec>
<echo message="Checking Ruby done!" />
</target>
<target name="homebrew" depends="ruby">
<echo message="Installing Homebrew..." />
<exec executable="/usr/bin/ruby">
<arg line=' -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"'/>
</exec>
<echo message="Homebrew installation done!" />
</target>
</project>
Вот что я получаю:
ruby:
[echo] Checking Ruby...
[exec] ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin16]
[echo] Checking Ruby done!
homebrew:
[echo] Installing Homebrew...
[exec] -e:1: `$(' is not allowed as a global variable name
[exec] Result: 1
[echo] Homebrew installation done!
Как мне обойти эту проблему $(' is not allowed as a global variable name
? Можно ли как-то избежать знака $
?
В двух словах, как я могу адаптировать этот файл сборки Ant для установки Homebrew? Я мог бы просто поместить команду установки Homebrew в скрипт bash, но я бы просто исправил синтаксис, чтобы сделать это прямо из Ant.