.sh 파일에 대한 명령 바로 가기를 만드는 방법은 무엇입니까?

.sh 파일에 대한 명령 바로 가기를 만드는 방법은 무엇입니까?

터미널 에 들어가서 Mozilla 브라우저를 실행하고 싶습니다 firefox.

그래서 나는 심볼릭 링크를 만들려고 노력합니다. ln -s /opt/firefox firefox

하지만 firefox터미널에 입력하면 오류가 발생합니다.bash: firefox: command not found

문제는 어디에 있습니까?

답변1

명령을 실행할 때 현재 작업 디렉터리(아마도 홈 디렉터리)에 링크를 만듭니다 /opt/firefox(이것이 실제로 호출할 때 FF를 시작할 수 있는 Firefox 바이너리입니까?)./opt/firefox

그러나 링크가 생성된 디렉터리는 귀하의 디렉터리가 아니므 $PATH로 직접 실행할 수는 없습니다.

해결책은 경로에 포함된 디렉터리에 대한 링크를 만드는 것입니다. 예를 들어:

ln -s /opt/firefox /usr/local/bin/firefox

또는 경로에 추가 /opt하지만 첫 번째 옵션을 권장합니다.

참고: /opt/바이너리를 넣는 위치가 이상합니다. Firefox를 어떻게 설치하셨나요? 배포판의 패키지 관리 시스템을 사용해 보는 것은 어떨까요?

답변2

/opt/firefox먼저 이것이 디렉터가 아닌 실행 파일인지 확인하십시오 . 실행해 보세요 /opt/firefox. 작동하면 실행 파일이 포함된 디렉터리를 $PATH변수에 추가할 수 있습니다.

다시 채우다

명령을 실행하려고 하면 cmd이 변수의 모든 경로 요소에서 해당 이름의 실행 파일을 검색합니다 cmd. 스캔할 디렉터리를 확장하려면 변수를 업데이트하면 됩니다. 예를 들면 다음과 같습니다.

export PATH=$PATH:/new/path

따라서 cmd다음에 시스템을 실행하려고 하면 /new/path.Firefox 실행 파일이 있는 경우 /opt다음을 추가하면 됩니다 .bashrc.

export PATH=$PATH:/opt

답변3

Firefox 설치 시 기본 Firefox 실행 파일은 일반적으로 /usr/lib/firefox- 디렉터리에 있습니다.

다음 명령을 사용하여 시스템에서 이를 확인해 보십시오.

ls /usr/lib/firefox* 

내 시스템의 결과는 다음과 같습니다.

drwxr-xr-x 13 root root 1020 2012-09-12 06:29 /usr/lib/firefox-3.6.28
drwxr-xr-x  6 root root  916 2011-04-25 18:56 /usr/lib/firefox-4.0
drwxr-xr-x  7 root root   80 2011-04-25 18:56 /usr/lib/firefox-addons

Linux 홈 바 상단(모니터 화면 상단)에 있는 Firefox 아이콘은 /usr/bin의 심볼릭 링크를 통해 Firefox 실행 파일에 연결됩니다. 예:

ls -lt firefox*

lrwxrwxrwx 1 root root 14 2012-09-12 06:29 firefox -> firefox-3.6.28
lrwxrwxrwx 1 root root 29 2012-09-12 06:29 firefox-3.6.28 -> ../lib/firefox-3.6.28/firefox

이 구조를 사용하면 여러 버전의 Firefox를 심볼릭 링크할 수 있으며, 다른 버전을 시도하려면 /usr/bin에서 Firefox 링크를 삭제하고 /usr/lib에서 새로운 다른 버전의 Firefox를 생성하면 됩니다. 예를 들어 (여기서 # 프롬프트는 아래는 루트 계정 프롬프트입니다:

# rm firefox
# ln -s ../lib/firefox-4.0/firefox.sh firefox

이 주제에 대한 이전 기사에서 언급했듯이 연결된 개체에 대한 심볼릭 링크를 만들 때 개체가 실제로 존재하는지 확인해야 합니다.

관련 정보