tcsh에서 느낌표를 인쇄하는 방법은 무엇입니까?

tcsh에서 느낌표를 인쇄하는 방법은 무엇입니까?

printf느낌표를 표현하는 가장 좋은 방법은 무엇입니까 !?tcsh?

작은따옴표나 큰따옴표를 사용하면 느낌표를 이스케이프 처리하는 데 아무런 영향을 미치지 않는 것 같습니다. 백슬래시를 사용하면 \!작동하지만 history.

편집: 특히 2014-09-21T15:34Z에 대한 내 의견에 따르면 문제가 재현 가능합니다 . 문제를 경험하려면 다시 로드 savehist해야 합니다 . :-)exittcsh

답변1

당신이 사용하는 경우tcsh(원본 아님 ) 변수를 csh설정해야 합니다 .histlit

histlit(+)

설정된 경우 내장 및 편집기 명령과 savehist 메커니즘은 기록 목록에 있는 행의 리터럴(확장되지 않은) 형식을 사용합니다. toggle-literal-history편집기 명령 도 참조하세요 .

set histlit=1따라서 or 에 ~/.cshrc한 줄만 추가하면 됩니다 ~/.tcshrc.

그 후에는 백슬래시를 사용하여 인용할 수 있습니다 !.

printf 'a\!b\n'

답변2

노력하다:

$ printf 'a\!c\n'
a!c

또는:

$ printf '%s\n' a\!c

답변3

tcsh! 기록 대체 문자를 사용하세요.

g4ur4v:~> echo $0
tcsh
g4ur4v:~> printf '!\n'
!

편집하다

g4ur4v:~> echo 'a\!c'
a!c
g4ur4v:~> printf 'a\!c\n'
a!c

관련 정보