最短的bashquine 是空字符串:
$ bash -c ''
$
Run Code Online (Sandbox Code Playgroud)
bash生成自己的源代码作为输出的最短非空脚本是什么?
19 个字符:
$echo 'echo $BASH_COMMAND' > quine
$ wc -c quine
19 quine
$ cat quine
echo $BASH_COMMAND
$ bash quine
echo $BASH_COMMAND
$
Run Code Online (Sandbox Code Playgroud)
字符计数包括源中的换行符(因为它是在输出中生成的)。
如果你以前没有听说$BASH_COMMAND过,手册上说:
BASH_COMMAND
当前正在执行或即将执行的命令,除非 shell 作为陷阱的结果正在执行命令,在这种情况下,它是在陷阱发生时正在执行的命令。