私はredis-cli
にアクセスしようとしていましたが、怠惰なのでred
と入力してタブを2回押しましたが、/bin/
の下に実際にred
と呼ばれるバイナリがあることに気付きました。
私がしたとき
cat /bin/red
それは示した
#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"
それは何ですか?
注意。 red
を実行すると、入力を待ち、入力したものは何でもsaves it =そして別のプロンプトを待つか、または?
を返します。q
を押したときにのみ終了することに注意してください。また、0-9から数字を挿入してEnterキーを押すと、it saved以前に入力したときに挿入したすべての入力が表示されます
例:
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」のみが入力を受け入れます。数値以外のものはすべて?
になります。
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'制限モードで実行します。このモードでは、現在のディレクトリからのファイルの編集とシェルコマンドの実行が無効になります。