Linux에서 다음 스크립트를 실행한다고 가정합니다.
/tmp/start.sh
명령을 실행한 후 마지막으로 실행한 명령의 이름을 검색할 수 있는 방법이 있습니까?
예상 출력
start.sh
답변1
대화형 셸 bash
에서 기록 확장을 사용합니다 .
$ /some/path/script.sh
$ printf 'Basename of last command line: %s\n' "$(basename "!!")"
printf 'Basename of last command line: %s\n' "$(basename "/some/path/script.sh")"
Basename of last command line: script.sh
!!
마지막 명령으로 대체될 내역 확장 이벤트 표시기입니다 . 매뉴얼의 "역사적 확장" 섹션을 참조하십시오 bash
.
!!
전체 명령줄로 확장 됩니다 .
쉘 스크립트에서는 방금 입력했기 때문에 이전 스크립트의 이름을 항상 알 수 있습니다.
/some/path/script.sh
echo 'script.sh just finished'