#!/bin/bash
echo "hello^H^H" #hello
echo "hello^H^H " #hel o
알고 계시 겠지만^H는 콘솔에서 문자를 삭제합니다. 그러나 첫 번째 메아리가 효과가없고 두 번째 메아리가 "hel o"를 얻는 이유는 무엇입니까?^H in bash 변수
#!/bin/bash
echo "hello^H^H" #hello
echo "hello^H^H " #hel o
알고 계시 겠지만^H는 콘솔에서 문자를 삭제합니다. 그러나 첫 번째 메아리가 효과가없고 두 번째 메아리가 "hel o"를 얻는 이유는 무엇입니까?^H in bash 변수
백 스페이스는 화면에 표시된 내용을 실제로 지우지 않고 커서를 오른쪽으로 한 칸 이동합니다. 두 번째 명령 만 실제로 번째 문자를 문자열에서 후행 공백으로 덮어 쓰면 지워집니다.
나는 그것을 시각화하려고합니다 :
$ echo "hello^H^H"
hello
^
`-- cursor position
$ echo "hello^H^H "
hel o
^
`-- cursor position
예 정답입니다. &를 추가하기 위해 일부 터미널 에뮬레이터는 단일 '\ b'를'\ b
@anishsane 어떤 단말이 이것을합니까? –
Windows 하이퍼 터미널에서 본 적이 있는데, 일반적으로 직렬 포트 통신 또는 직렬 오버 TCP에 사용됩니다. 그것이 모든 리눅스 터미널에서 가능하다면 확실하지 않습니다. 어쩌면, 나는 단 하나만 알고 있기 때문에 "일부 터미널 에뮬레이터"를 말하는 것이 잘못되었습니다. – anishsane
$는 "안녕하세요^H^H"에코 안녕하세요 ^ -- cursor position $ echo "hello^H^H " hel o ^
- 내 맥 OS X에 그것을 시도
커서 위치 (10.8.4) 올바른 출력을 생성합니다. –