
우분투 14.04를 사용하여 "영구적으로 경로를 추가하는 방법"을 해결하려고 합니다. samtools-1.2
경로에 추가하고 싶다고 말하는 프로그램이 있다면 다음과 같이 할 것입니다.
export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc
그런 다음 확인하려면 다음을 수행하십시오.
cat ~/.bashrc
답변1
이를 수행하려면 /etc/profiles.d/
원하는 이름으로 새 파일을 생성하고 .sh
예를 들어 파일이 다음 으로 끝나는지 확인하고 samtools.sh
파일 내부에 다음을 배치합니다.
#!/bin/sh
export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2
source /etc/profile
그런 다음 명령줄을 통해 실행하고 싶을 것입니다 .
참고: 문자 export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2
뒤에 슬래시가 없습니다 :
.
답변2
더 짧은 대답.
그러면 명령이 작동하더라도 여기서 무엇을 하고 있는지 100% 확신하십니까? 내 눈에는 사용자 데스크탑에 디렉토리를 추가하기 때문에영구적으로시스템 PATH에 약간의 문제가 있는 것 같습니다. 이와 같은 것들은 sudo make install
소스 코드가 컴파일된 후에 시스템 전체 설치로 설치되어야 합니다 .
즉, 여기 여러분이 시도하는 작업, 작동하지 않는 이유, 문제를 해결하기 위해 수행할 수 있는 작업 및 방금 말했듯이 이것이 좋은 아이디어가 아닌 이유에 대한 분석이 나와 있습니다.
더 긴 답변입니다.
첫째, 이 명령은 아무 작업도 수행하지 않습니다.
export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc
몇 가지 개념을 잘못 혼합했습니다.
- 첫째, 명령을 시작하면
export PATH=
새PATH
값을 할당하는 것뿐입니다. - 다음으로, 추가하려는 경로가 올바르지 않습니다:
home/cmccabe/Desktop/NGS/samtools-1.2
. 그렇다면 그래야 합니다/home/cmccabe/Desktop/NGS/samtools-1.2
. 해당 경로 앞의 슬래시를 확인하세요. - 마지막으로 이 부분은
>> .bashrc
어느 정도 정확하지만 그 전에 어떤 일이 발생했는지는 중요하지 않습니다. 는>>
Bash에게 앞에 있는 내용을 에 추가하라고 지시합니다.bashrc
. 그리고 첫 번째 명령은 이므로export PATH=
아무것도 출력되지 않습니다. 따라서 추가되는 것은 모두.bashrc
빈 줄입니다. 그리고 이 디렉토리는.bashrc
사용자의 홈 디렉토리여야 하므로~/
이름 앞에 다음과 같이 추가하십시오~/.bashrc
.
그만큼진짜명령이 이것이기를 원했다면 명령은 다음과 같을 것입니다. 하지만 실행하지 마세요.
echo export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2 >> ~/.bashrc
여기서 핵심은 echo
다음에 나오는 내용을 실행하지 않고 .bashrc
. 그런 다음 실행 source ~/.bashrc
하고 실행하면 echo $PATH
모든 것이 설정되어야 합니다.
아무리 말해도 이것은 좋은 생각이 아닌 것 같습니다.
이것은 귀하의 시스템이므로 원하는 대로 사용하십시오. 그런데 뭘 보면samtools-1.2
즉, 그것은 단지 프로그램의 소스 코드일 뿐입니다. 컴파일을 했다면아마도해당 PATH 설정이 /home/cmccabe/Desktop/NGS/samtools-1.2
의미가 있습니다. 그러나 그럼에도 불구하고 바이너리를 처리하는 가장 좋은 방법은 실제로 sudo make install
모든 관련 파일을 올바른 위치에 배치하는 시스템에 바이너리를 설치한 다음 samtools
바이너리를 설치하는 /usr/local/bin
것입니다.~해야 한다이미 PATH의 일부입니다.
즉, 단순히 의 기본 컴파일을 수행 samtools-1.2
하고 테스트하고 싶다면 사용자 데스크톱의 디렉터리를 가리키도록 설정하는 것이 합리적입니다. 하지만 그 외에 귀하의 질문은영구적으로경로에 프로그램을 추가합니다. 그리고 그렇다면 나는절대 추천하지 마세요사용자 데스크탑의 디렉토리를 PATH에 영구적으로 추가한 적이 있습니다. 데스크탑에 있는 물건을 잃어버릴 위험이 너무 큽니다.