Если вы хотите использовать tlmgr на Ubuntu, у вас есть в основном два варианта:
Установите texlive с нуля и создайте фиктивный пакет. Используйте install-tl-ubuntu, как описано в этом ответе на tex. SEВы также можете вывести $:
\$(...)
\$
в свой код:
cat > .git/hooks/pre-commit << EOM
#Colors
RED='\033[0;31m'
NC='\033[0m' # No Color
# Javascript unit tests
res=\$(script -q /dev/null ./tests/hooks/non-ui-test-hook )
RESULT=\$?
[ $RESULT -ne 0 ] && echo -e "$res" && exit 1
echo -e "All test cases passed.\n"
exit 0
EOM
Вы также можете вывести $:
\$(...)
\$
в свой код:
cat > .git/hooks/pre-commit << EOM
#Colors
RED='\033[0;31m'
NC='\033[0m' # No Color
# Javascript unit tests
res=\$(script -q /dev/null ./tests/hooks/non-ui-test-hook )
RESULT=\$?
[ $RESULT -ne 0 ] && echo -e "$res" && exit 1
echo -e "All test cases passed.\n"
exit 0
EOM
Вы также можете вывести $:
\$(...)
\$
в свой код:
cat > .git/hooks/pre-commit << EOM
#Colors
RED='\033[0;31m'
NC='\033[0m' # No Color
# Javascript unit tests
res=\$(script -q /dev/null ./tests/hooks/non-ui-test-hook )
RESULT=\$?
[ $RESULT -ne 0 ] && echo -e "$res" && exit 1
echo -e "All test cases passed.\n"
exit 0
EOM
Введите конечный индикатор документа, EOM в вашем случае:
cat > .git/hooks/pre-commit << 'EOM'
...
...
EOM
Выполнение с использованием двойных кавычек или обратной косой черты:
cat > .git/hooks/pre-commit << "EOM"
...
...
EOM
Или
cat > .git/hooks/pre-commit << \EOM
...
...
EOM
Возможно, вы не заметили, но RESULT=$? также расширился до RESULT=1, т.е. статус выхода script... внутри подстановки команды.
Просто для полноты, если вы хотите, чтобы какое-то расширение произошло, но не другие, вам нужно следить за тем, что у вас есть, и избегать тех, которые вы хотите сохранить, с помощью типичных методов экранирования.
Введите конечный индикатор документа, EOM в вашем случае:
cat > .git/hooks/pre-commit << 'EOM'
...
...
EOM
Выполнение с использованием двойных кавычек или обратной косой черты:
cat > .git/hooks/pre-commit << "EOM"
...
...
EOM
Или
cat > .git/hooks/pre-commit << \EOM
...
...
EOM
Возможно, вы не заметили, но RESULT=$? также расширился до RESULT=1, т.е. статус выхода script... внутри подстановки команды.
Просто для полноты, если вы хотите, чтобы какое-то расширение произошло, но не другие, вам нужно следить за тем, что у вас есть, и избегать тех, которые вы хотите сохранить, с помощью типичных методов экранирования.
Введите конечный индикатор документа, EOM в вашем случае:
cat > .git/hooks/pre-commit << 'EOM'
...
...
EOM
Выполнение с использованием двойных кавычек или обратной косой черты:
cat > .git/hooks/pre-commit << "EOM"
...
...
EOM
Или
cat > .git/hooks/pre-commit << \EOM
...
...
EOM
Возможно, вы не заметили, но RESULT=$? также расширился до RESULT=1, т.е. статус выхода script... внутри подстановки команды.
Просто для полноты, если вы хотите, чтобы какое-то расширение произошло, но не другие, вам нужно следить за тем, что у вас есть, и избегать тех, которые вы хотите сохранить, с помощью типичных методов экранирования.