Я попытался запустить echo '$(!!:p)' > /tmp/tmptxt.txt
, однако я просто получил $(!!:p)
. Предыдущая команда может иметь неэкранированные символы, поэтому мне нужно ее избежать.
1 ответ
1
Вы используете одинарные кавычки, поэтому bash не расширится!». Попробуйте вместо этого использовать двойные кавычки, в результате получится что-то вроде:
mjost@tuca:~$ echo hello
hello
mjost@tuca:~$ echo "!!" > file
echo "echo hello" > file
mjost@tuca:~$ cat file
echo hello
mjost@tuca:~$
В любом случае, вы можете взглянуть на более полный ответ со всеми возможными решениями здесь:
https://stackoverflow.com/questions/6109225/bash-echoing-the-last-command-run
Удачи!