다른 sh 파일에서 sh 파일을 실행하려고 할 때 문제가 발생합니다.

다른 sh 파일에서 sh 파일을 실행하려고 할 때 문제가 발생합니다.

다음 스크립트가 있습니다.

#!/bin/bash

if test -f "/path/pycharm.sh"; then sh ./pycharm.sh;
fi

나는 달리려고 노력하고있다.pycharm.shBash 파일에서 파일에 필요한 모든 권한을 다시 확인했습니다. 불행히도 실행할 때마다 다음과 같은 메시지가 나타납니다.

./pycharm.sh를 열 수 없습니다.

답변1

./스크립트를 실행하는 데 사용하지 않습니다일반적으로 말하면, 프로그램(스크립트 또는 컴파일된 바이너리)을 실행하는 데 사용합니다. 현재 디렉터리에. 두 번째 스크립트가 에 있으면 대신 /path/pycharm.sh으로 실행해야 합니다 ./path/pycharm.sh./pycharm.sh

답변2

쉘 스크립트가 다른 디렉토리에 있습니다. 절대 경로를 사용하십시오.

sh /path/pycharm.sh

답변3

오류는 매우 명확합니다.

  • 지정된 경로에 존재하지 않거나
  • 열 수 있는 권한이 없습니다.

상대 경로를 사용하고 있으므로 첫 번째 경로에 돈을 투자하겠습니다. 두 번째 경로의 전체 경로를 지정하면 pycharm.sh제대로 작동합니다.

답변4

제가 뭔가를 놓치고 있는 건가요? 아니면 문자열이 존재하는지 먼저 확인하는 문자열을 만들 계획이신가요? 그렇다면 올바른 접근 방식은 다음과 같습니다.

#!/bin/bash

if test -f "/path/pycharm.sh"; then /path/./pycharm.sh;
fi

관련 정보