Нет. По крайней мере, насколько мне известно.
-f
- это расширение POSIX export.
POSIX set
(и bash
set
в режиме POSIX) также исключает определения функций.
steeldriver опубликовал ответ в качестве комментария, поэтому я публикую его как ответ. echo "FLAG" | base64
выходы RkxBRwo=
, поэтому ваша команда
grep -nr `echo "FLAG" | base64`делает
grep -nr RkxBRwo=Но, судя по тому, что вы показали, ваш файл
test.txt
не содержит RkxBRwo=
; он содержит RkxBR
(, за которым следуют другие символы ). Если вы хотите найти свои файлы для первых 5 символов кодировки base64 FLAG
, делать
grep -nr `echo "FLAG" | base64 | cut -c1-5`
Команда
grep -nr `echo "FLAG" | base64`
указывает на рекурсивный поиск во всех файлах в текущем каталоге шаблона, возвращаемого командой echo "FLAG" | base64
.
Вместо этого, я думаю, вы хотите
echo "FLAG" | base64 | grep -n 'Rkx'
или, если по какой-либо причине вам нужна подстановка команды:
grep -n 'Rkx' <<< $(echo "FLAG" | base64)
Обратите внимание, что выражение $()
используется вместо обратных кавычек для подстановки команд. Вот почему.