Назад | Перейти на главную страницу

Как предотвратить замену bash $?

Я пытаюсь сохранить $, если ниже и
хотел бы, чтобы вывести следующее
$ если

bash мешает, делая
$ замена

$ sed -e 's:\\$:\\$:g' <<ENDOFFILE  
> $if  
> ENDOFFILE  

или

$ tr '$' '\$' <<ENDOFFILE  
> $if  
> ENDOFFILE  

Есть ли способ сохранить $ ключевые слова
в стандартный вывод без явного экранирования
их в stdin?

Должен ли я переключиться на другую оболочку, прежде чем пытаться это сделать?

Я не уверен, что вы пытаетесь сделать, но bash выполняет расширение параметров в вашем документе, потому что разделитель ENDOFFILE. Если бы вы изменили его на 'ENDOFFILE' bash не расширяется.

Не уверен, что именно вы здесь пытаетесь сделать, но вы можете использовать tr и восьмеричное значение $, равное 044. Поэкспериментируйте с этим:

echo 'ab $ de' | tr \ 044 С