Использовать одинарную -сильную кавычку:
printf '%s\n' '`wc -l *`'
И если вы хотите также включить одинарные кавычки в этот аргумент, переданный в printf
, вам нужно будет использовать другие кавычки для самого '
, например:
printf '%s\n' '`wc -l *` and a '"'"' character'
или:
printf '%s\n' '`wc -l *` and a '\'' character'
Другие альтернативы включают экранирование `
с обратной косой чертой в двойных кавычках:
printf '%s\n' "\`wc -l *\` and a ' character"
Или `
быть результатом некоторого расширения:
backtick='`'
printf '%s\n' "${backtick}wc -l *${backtick} and a ' character"
Также обратите внимание:
cat << 'EOF'
`wc -l *` and a ' character and a " character
EOF
для вывода произвольного текста, не беспокоясь о заключении в кавычки (обратите внимание на кавычки вокруг первогоEOF
).
Вы также можете:
var=$(cat << 'EOF'
echo '`wc -l *`'
EOF
)
Что с помощью ksh93
или mksh
вы можете оптимизировать до:
var=$(<<'EOF'
echo '`wc -l *`'
EOF
)
(также работает в zsh
, но по-прежнему запускает cat
в подоболочке там ), чтобы $var
буквально содержал echo '`wc -l *`'
.
В оболочке fish
вы можете встроить '
в '...'
с помощью\'
:
printf '%s\n' '`wc -l *` and a \' character'
но все равно `
там не особо, так что:
printf '%s\n' "`wc -l *` and a ' character"
тоже подойдет.
В rc, es или zsh -o rcquotes
вы можете вставить '
в '...'
с помощью''
:
printf '%s\n' '`wc -l *` and a '' character'
См. Как использовать специальный символ вместо обычного? для более подробной информации.
Was there likely a human sysadmin involved or is this somehow an automatic standard behaviour configurable on Linux filesystems.
Это было вмешательство человека. Файловые системы в Linux не изменяют свой размер автоматически. То, о чем вы говорите, похоже на ИИ, а я не слышал ни о каком ИИ, присутствующем в ядре Linux.
Кроме того, этот взгляд можно рассматривать как нечеткое неопределенное поведение, с которым никто не захочет иметь дело.