最短的非空 bash quine

Tom*_*ale 2 bash quine

最短的bashquine 是空字符串:

$ bash -c ''
$ 
Run Code Online (Sandbox Code Playgroud)

bash生成自己的源代码作为输出的最短非空脚本是什么?

Tom*_*ale 6

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 作为陷阱的结果正在执行命令,在这种情况下,它是在陷阱发生时正在执行的命令。