1

Я хочу сделать это:

echo alias get_python_lib='python -c "from distutils.sysconfig import get_python_lib; print get_python_lib();"' >> ~/.bash_aliases

Результат в моем файле ~/.bash_aliases :

alias get_python_lib=python -c "from distutils.sysconfig import get_python_lib; print get_python_lib();"

К сожалению, команда echo удалила первый набор апострофов ('), и псевдоним не работает.

Я испробовал всевозможные апострофы и свопы в кавычках и использовал все команды, которые я мог найти в качестве замены (echo , type , cat , printf), но ничего не помогло.

Как добавить строку текста в файл, если для строки текста требуются все апострофы и кавычки?

2 ответа2

1

Удаление кавычек работает и добавление кавычек работает:

echo alias get_python_lib=\'python -c "\"from distutils.sysconfig import get_python_lib; print get_python_lib();\""\' >> ~/.bash_aliases

$ cat .bash_aliases
alias get_python_lib='python -c "from distutils.sysconfig import get_python_lib; print get_python_lib();"'
1

Или вставьте двойные кавычки вокруг всех аргументов, чтобы echo и избежать внутренних двойных кавычек

echo "alias get_python_lib='python -c \"from distutils.sysconfig import get_python_lib; print get_python_lib();\"'" >> ~/.bash_aliases

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .