내 터미널(bash 3)에서는 때때로 빠른 교체를 사용합니다.
^aa^bb^
^string1^string2^
Quick substitution. Repeat the last command, replacing string1 with string2. Equivalent to `!!:s/string1/string2/` (see Modifiers below).
예를 들어
$ echo aa aa
aa aa
$ ^aa^bb^
echo bb aa
bb aa
이는 어떤 상황에서는 정말 편리할 수 있습니다.
그러나 마지막 것을 생략해도 ^
효과가 있다는 것을 알았습니다.
$ echo aa aa
aa aa
$ ^aa^bb
echo bb aa
bb aa
내 질문은: 마지막 문장을 생략하면 어떤 결과가 발생합니까 ^
? 안전하게 놔둬도 될까요? 아니면 예방조치가 있나요?
답변1
이벤트 라인의 마지막 문자인 경우 생략 가능합니다.
먼저, 다음의 ^string1^string2^
의미를 확인합니다 man bash
.
^string1^string2^
Quick substitution. Repeat the previous command,
replacing string1 with string2. Equivalent to
``!!:s/string1/string2/'' (see Modifiers below).
따라서 이는 와 동일합니다 s/string1/string2/
. s
수정자에 대한 문서를 읽어보세요.
s/old/new/
Substitute new for the first occurrence of old in the event line.
Any delimiter can be used in place of /. The final delimiter
is optional if it is the last character of the event line. The
delimiter may be quoted in old and new with a single backslash.
If & appears in new, it is replaced by old. A single backslash
will quote the &. If old is null, it is set to the last old
substituted, or, if no previous history substitutions took place,
the last string in a !?string[?] search.