什么是 /bin/red

什么是 /bin/red

我试图访问redis-cli,但因为我很懒,所以我red输入并按了两次 Tab,但我注意到实际上有一个名为的二进制文件red位于下/bin/

当我这样做的时候

cat /bin/red

这显示了

#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"

知道那是什么吗?

注意。当我执行时red,它只是等待输入,无论我输入什么,它都会保存它并等待另一个提示或返回?,注意只有点击q它时才会退出。此外,当插入 0-9 之间的数字并保持输入时,它会显示您插入的每个输入它保存了你之前输入的内容

例子:

a <<<-- input
bsa <<< input taken without ?
^C <<<--- hitting ctrl-c
?  <<<--- output

示例2:

v
?
b
?
a
qwrefdf <<-- saved because it didn't output ? after typing "a" up
^C
?
 <<- waiting for input

因此“h”输出“无效地址”,并且只有“a”、“x”、“c”和“i”接受输入。除数字之外的所有其他结果都会导致?

答案1

red处于ed限制模式。

$ whatis red
red (1)              - line-oriented text editor

$ man red
shows `ed` man page.

此外,代码显示,它ed --restricted使用bindir所有参数("$@")执行。

ed要获得有关及其命令的手册,请运行info Ed

在本章中Invoking ed

运行‘ed’的格式为:

 ed [OPTIONS] [FILE]
 red [OPTIONS] [FILE]

[...]

'-r' '--restricted' 在受限模式下运行。此模式禁用当前目录之外的文件编辑和 shell 命令的执行。

相关内容