我经常发现自己在 shell 中测试命令(例如cat file | awk 'stuff'
),当我对其工作方式感到满意时,我将该命令附加到脚本文件中。
假设这是我创建的命令cat file.txt | awk -F '|' '$3 == "\"0\""'
如何快速将其回显到文件中,而不必先转义内容,也不必使用鼠标?
有没有办法做类似的事情
echo --verbatim the_command_with_lots_of_quotes_and_everything >> file.sh
或者
cat <<'EOF'\n the_command \n EOF >> file.sh
?
答案1
不是那么快,但是 zsh (也许还有 bash?)有一个名为 的功能fc
,我不确定它代表什么,但如果你输入它,它似乎会打开命令,无论你$EDITOR
是什么。
或者也许你可以这样做history | tail -1 >> file
。
就在一行中执行定界符而言,如下:
~$ echo -e "cat << EOF\nhello\n12345\nEOF\n" | sh
hello
12345
是我能想到的最接近的。