J'essayais d'accéder à redis-cli
mais parce que je suis paresseux, j'ai tapé red
et j'ai appuyé deux fois sur tab, mais j'ai remarqué qu'il y a un binaire appelé red
qui se trouve sous /bin/
.
Quand je l'ai fait
cat /bin/red
cela montrait
#! /bin/sh
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
exec "${bindir}"ed --restricted "$@"
Une idée de ce que c'est?
Remarque. quand j'exécute red
, il attend juste une entrée et quoi que je tape, soit l'enregistre = et attend une autre invite ou renvoie ?
, notez que lorsque vous appuyez sur q
, il se ferme. également lorsque vous insérez des nombres de 0 à 9 et continuez à entrer, cela montre chaque entrée que vous avez insérée lorsque elle a enregistré ce que vous avez tapé plus tôt
exemple:
a <<<-- input
bsa <<< input taken without ?
^C <<<--- hitting ctrl-c
? <<<--- output
exemple2:
v
?
b
?
a
qwrefdf <<-- saved because it didn't output ? after typing "a" up
^C
?
<<- waiting for input
donc "h" sort en "adresse invalide" et seulement "a", "x", "c" et "i" accepte l'entrée. tout autre chose que les nombres donne ?
red
est ed
en mode restreint.
$ whatis red
red (1) - line-oriented text editor
$ man red
shows `ed` man page.
En outre, le code montre qu'il exécute ed --restricted
de bindir
avec tous les arguments ("$@"
).
Pour un manuel sur ed
et ses commandes, exécutez info Ed
.
Dans le chapitre Invoking ed
:
Le format pour exécuter 'ed' est:
ed [OPTIONS] [FILE] red [OPTIONS] [FILE]
[...]
'-r' '--restricted' Exécuter en mode restreint. Ce mode désactive l'édition des fichiers hors du répertoire courant et l'exécution des commandes Shell.