터미널 명령 "./"보다 Ubuntu에서 프로그램을 실행하는 가장 좋은 방법이 있습니까?

터미널 명령 "./"보다 Ubuntu에서 프로그램을 실행하는 가장 좋은 방법이 있습니까?

Ubuntu에서는 터미널 명령 "./"보다 프로그램을 실행하는 가장 좋은 방법이 있습니까?

PhpStorm을 폴더에 넣었으며 PhpStorm을 실행하려면 cd bin/"./phpstorm.sh"를 사용하여 실행해야 합니다. 나는 이것이 공식적인 최선의 방법이라고 생각하지 않습니다.

답변1

./명령이 아닙니다. 디렉터리(현재 디렉터리)입니다. 이는 단지 파일 ./phpstorm.sh( phpstorm.sh현재 디렉터리에 이름이 지정됨)을 실행한다는 의미입니다. 여러분이 작성하는 모든 명령은 먼저 $PATH환경 변수의 모든 디렉터리를 검색합니다. 예를 들어 이것이 작동하는 이유 이며 작성할 ls필요가 없습니다 .쓰기/bin/ls

echo "$PATH"

어떤 디렉토리가 검색되었는지 확인하세요.

/bin이미 귀하의 디렉토리에 있어야 하므로 PATH어느 phpstorm.sh디렉토리에 있든지(아니요 ./) 항상 작동해야 합니다. 그러나 현재 디렉터리에서 명령을 실행하려면 .기존 경로에 (현재 디렉터리)를 추가하세요. 일반적으로 배치하여

export PATH=".:$PATH"

귀하의 파일에 .profile. 이것이 기본값은 아니지만 항상 그렇게 합니다. (어떤 스크립트나 애플리케이션을 직접 작성한다면 항상 현재 디렉터리를 직접 지정하는 것은 매우 불편합니다.) 그러나 루트에서는 이 작업을 수행하지 마십시오. 너무 강력하므로 실수로 무언가가 손상될 수 있습니다.

또 다른 "특수" 디렉터리는 ..상위 디렉터리를 나타냅니다. cd ..그것이 "상승"하는 이유입니다 . cd .당신은 이미 거기에 있기 때문에 아무것도하지 않을 것입니다.

답변2

/usr/local/binLinux에는 공식적이고 최선의 방법은 없지만 스크립트를 $PATH의 디렉터리에 복사하면(예: 해당 디렉터리가 경로에 있는 경우) 작업을 더 쉽게 만들 수 있습니다(또는 최소한 입력을 줄일 수 있습니다). echo $PATH쉘이 명령을 검색하는 디렉토리 목록을 보는 데 사용됩니다 .

나머지 파일이 자신을 기준으로 저장되는 위치를 가정하는 방식으로 스크립트가 작성된 경우 다음 줄을 추가해야 합니다.

cd <original_directory_where_the_script_was_located>

첫 번째 줄 중 하나로 (그러나 적어도 로 시작하는 첫 번째 줄 아래 #!)

호출된 (다른) 실행 파일이 없는 경우 다음을 사용하여 어디에서나 프로그램을 phpstorm삭제하고 시작할 수도 있습니다 ..sh

phpstorm

명령줄에서.

관련 정보