/ bin / red는 무엇입니까 때문에 입력 red하고 탭을 두

액세스하려고 redis-cli했지만 게으 르기 때문에 입력 red하고 탭을 두 번 누르십시오. 그러나 실제로 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”만 입력을 받아들입니다. 숫자 이외의 다른 모든 결과?



답변

red 이다 ed 제한 모드.

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

$ man red
shows `ed` man page.

또한 코드는 다음을 보여줍니다. ed --restrictedbindir 모든 인수 ( "$@")로 됩니다 .

매뉴얼 ed및 명령에 대해서는을 실행하십시오 info Ed.

이 장에서 Invoking ed :

‘ed’를 실행하는 형식은 다음과 같습니다.

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

[…]

‘-r’ ‘–restricted’제한 모드에서 실행합니다. 이 모드는 현재 디렉토리에서 파일을 편집하거나 쉘 명령을 실행하지 못하게합니다.