Bash에서는 마지막 명령을 반복하거나 예를 들어 !!
마지막 명령에서 세 번째 명령을 입력하여 반복할 수 있습니다.!-3
!-1; !-2; !-3
명시적으로 입력 하지 않고 마지막 3개의 명령을 반복하는 빠른 방법이 있습니까 ?
답변1
fc -N -1
-N
반복하려는 마지막 N 명령은 어디에 있습니까?
그러면 마지막 N개의 명령이 포함된 편집기가 열립니다. 필요에 따라 명령을 편집할 수 있으며 편집기를 닫으면 명령이 순서대로 실행됩니다.
답변2
이 문제를 뒤집어서 이전 3개의 명령을 그룹화할 수도 있습니다. 예를 들면 다음과 같습니다.
echo 1; echo 2; echo 3
그러면 잘 쓰실 겁니다 !!
.
답변3
좋아, 이것은 당신이 기대했던 것과는 다르지만 작동합니다:
history | fgrep -v history | tail -3 | sed 's_^ *__' | cut -f 2- | bash
이를 위한 함수를 만들 수 있습니다:
myFunc(){
history | egrep -v 'history|myFunc' | tail ${1} | sed 's_^ *__' | cut -f 2- | bash
}
따라서 다음과 같이 호출할 수 있습니다.
myFunc -3