"sudo"로 마지막 명령 반복
나는 종종 sudo
. 마지막 명령을 반복하기 위해 bash 함수 (또는 별칭)를 만드는 방법을 찾고 sudo
있습니다. 다음과 같은 것 :
S() {
sudo $(history 1)
}
어떤 아이디어?
당신은 쓸 수 있습니다:
sudo !!
( Bash Reference Manual 의 §9.3 "History Expansion"을 참조하십시오 .)
충분하지 않은?
sudo !!
S
간단하게 넣으 려면 다음을 수행하십시오 .
alias S=sudo
그리고 그것을 사용하십시오
S !!
!!
평균last command
사용 alias redo='sudo $(history -p !!)'
. 이것은 별칭과 함께 작동하는 유일한 것입니다. 다른 답변은 직접 실행할 때 작동하더라도 어떤 이유로 별칭에서 작동하지 않습니다.
!!
마지막 명령을 참조하는 데 사용할 수 있습니다. 그래서:
sudo !!
aaron franke 의 응답 에 추가 및 확장 (정확하지만 이유가 없음 ) redo
하여 별칭을 구성한 후 간단히 입력하면 작동합니다 alias redo='sudo $(history -p !!)
.
이것은 별칭과 함께 작동하는 유일한 것입니다.
그 정당한 설명에 몇 가지가 있습니다.
alias redo='sudo !!'
sudo
부분을 실행하지 않기 때문에 작동하지 않지만 !!
.
를 sudo !!
올바르게 해결 하려면 셸 해결 지시문을 실행하고와 함께 연결해야 sudo
합니다. 그래서 우리는합니다.
alias redo='sudo $(history -p !!)'
별칭의 오른쪽을에 지정함으로써 $(history -p !!)
이것이하는 일은 쉘에 말하는 것입니다.
redo
별칭이며 오른쪽을 평가합니다.=
sudo
그대로 유지되고 다음과 연결됩니다.$()
현재 실행 프로세스 내에서 내용을 실행하는 셸 지시문입니다 (${}
다른 프로세스를 생성하여 실행 하는 하위 셸과 반대 ).- 결의
history -p !!
- 는
!!
확장 도착history -p <lastCommandHere>
4 단계의 결과. -p
부분에 말한다history
결과 만 인쇄하려면 실행하지- 는
sudo
암호가 올바르게 입력되었다고 가정하고 상승 된 권한으로 나머지 (이제 동일한 명령 줄에 인쇄 됨)를 실행합니다.
이것은 궁극적으로 명령 history -p !!
이 sudo
.
참고 : '
중요합니다. 당신이 사용하는 경우 "
는이 !!
두 번 보간됩니다 우리는 매우 신중하게 해결 단계를 제어해야하는 우리의 목적을 달성하기 위해; bash의 작은 따옴표 / 큰 따옴표
추신
zsh
+를 사용하는 경우 할 수 oh-my-zsh
있는 sudo
별칭 설정 _
이 있습니다.
_ !!
마지막 명령을 sudo
. 당신이 별칭을 구성하는 경우 그러나, ~/.zshrc
1, alias redo='sudo $(history -p !!)
하지 않습니다 작업 해상도 단계가 다른 같은 zsh을의 설정에서 때문이다.
That said, you can put the alias into ~/.bashrc
instead of ~/.zshrc
and have the same result when executing the alias redo
from zsh (assuming you're sub-shelling zsh from bash, though this is admittedly a bit of a kludge - though a functional one).
참고URL : https://stackoverflow.com/questions/17245614/repeat-last-command-with-sudo
'Programing' 카테고리의 다른 글
SQL 쿼리 (값이 null이면 1 반환) (0) | 2020.12.14 |
---|---|
~ "calc (100 %-@spacing)"과 같이 ~ 연산자에 대해 Less에서 변수를 사용하는 방법이 있습니까? (0) | 2020.12.14 |
IOS7의 상태 표시 줄 및 탐색 표시 줄 문제 (0) | 2020.12.14 |
phpstorm은 array () 표기법을 [] 짧은 구문으로 바꿉니다. (0) | 2020.12.14 |
redis로 사전을 저장하고 검색하는 방법 (0) | 2020.12.14 |