명령줄에서 파일을 제출 하면 gedit
항상 터미널이 잠기고 분리된 프로세스에 명시적으로 명령을 내리는 데 지쳤습니다.
gedit
별칭을 그런 식으로 설정하려고 시도했지만 gedit $* & disown
올바른 구문이 아니거나 별칭으로 실행 가능한 바이너리 명령을 오버로드하는 것을 허용하지 않습니다(.bash_aliases 함수에서 사용해 보세요.
alias gedit=editorz
function editorz()
{
gedit $* & disown
}
), 필수는 아닙니다.
gedit test.txt
그러면 이 명령이 원래 터미널 창을 잠그지 않도록 하려면 어떻게 해야 합니까 ?
답변1
.bash_aliases
이렇게 하면 작동합니다. 콘텐츠를 읽었 습니까 ? (이것은 표준 문서는 아니지만 귀하의 문서일 수 있습니다 ~/.bashrc
. .bashrc
및 에 대해 혼동하는 경우 .bash_profile
다음을 참조하세요..bashrc와 .bash_profile의 차이점.)
함수에 오류가 있습니다. 오류가 발생해야 합니다.
editorz () {
gedit "$@" & disown
}
귀하의 버전은 공백이나 쉘 와일드카드가 포함된 파일 이름에서는 작동하지 않습니다. 키워드는 function
선택사항입니다.
함수를 호출할 수 있지만 gedit
별칭을 완전히 생략할 수 있지만 함수 내부 호출은 함수가 아닌 명령에 대한 호출임을 쉘에 알려야 합니다.
gedit () {
command gedit "$@" & disown
}
Ctrl실수로 포그라운드에서 gedit를 시작한 경우(예: 터미널 잠그기) 터미널에서 +를 누르고 Z명령을 입력 하여 백그라운드로 넣을 수 있습니다 bg
.
답변2
function editorz()
별칭 앞에 정의 되어 있는지 확인하세요 .
나는 당신의 방법을 시도했지만 아무런 문제가 없었습니다.
답변3
gedit
터미널 대신 유틸리티 폴더에서 열면 문제가 해결되었습니다.
답변4
다음 별칭을 추가하면 됩니다.
alias gedit='gedit -b'
이 -b
옵션은 백그라운드에서 실행됨을 의미합니다.