나는 임베디드 보드 (Ubuntu 14.04를 실행하는 Jetson TK1)에 SSH를 사용했습니다. -X 옵션을 사용하므로 gedit를 사용하여 텍스트 파일을 편집 할 수 있습니다. 터미널에서 실행되면 gedit는 터미널에 많은 쓰레기를 분출합니다. 입력하면 쉽게 돌아 다닐 수 있습니다.
gedit [file] > /dev/null 2>&1 &
마지막 앰퍼샌드로 프로세스를 백그라운드로 전송하여 터미널을 계속 사용할 수 있습니다. 매번 입력하는 것이 지루하므로 별칭을 정의하고 싶습니다.
alias gedit="gedit $@ > /dev/null 2>&1 &"
그러나 이것은 작동하지 않습니다. 별칭이 정의 된 후 (초기 시도에서는 bash 명령 줄에서 직접 정의했습니다) 입력 할 때
gedit [file]
Bash는 다음과 같이 응답합니다.
-bash: [file]: command not found
제목없는 텍스트 파일로 gedit를 엽니 다. 별칭 정의에서 후행 앰퍼샌드를 제거하면 별칭이 예상대로 지정된 파일을 열 수 있지만 이제 분명히 gedit를 백그라운드로 보내지 않습니다. 뭐가 문제 야?
내 대답은 다음 게시물을 기반으로합니다. http://ubuntuforums.org/showthread.php?t=2011495
별칭은 그렇게 작동하지 않으며 인수는 항상 명령의 끝에 전달됩니다. 예를 들어 별칭을 사용 gedit filename
하면 실제로 다음이 실행됩니다.
gedit $@ > /dev/null 2>&1 & filename
대신에
gedit filename > /dev/null 2>&1 &
이로 인해 bash는 두 번째 명령을 입력했다고 생각합니다 filename
.
대신해야 할 일은 ~/.bashrc
gedit 명령을 실행하는 파일에 함수를 만드는 것입니다.
다음 스 니펫은 drmrgd의 코드를 약간 수정 한 버전입니다.
function gedit-bg() {
if [ ! -n "$1" ]; then
echo "USAGE: gedit-bg <filename>";
else
( gedit "$1" > /dev/null 2>&1 & );
fi
}
변경 사항을 적용하려면 다시 로그인해야합니다. 적용한 후에는 다음과 같은 방법을 사용할 수 있습니다.
gedit-bg filename
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다