왜 Linux에서 내 run.sh 명령을 볼 수 없나요?

왜 Linux에서 내 run.sh 명령을 볼 수 없나요?

우분투 리눅스 12.04 LTS의 디렉토리에 run.sh가 있습니다. 나는 디렉토리 구조의 다른 곳에서 바이너리를 "볼" 수 있도록 Path 변수를 변경해 왔습니다. 하지만 전체 경로를 지정해도 여전히 명령을 찾을 수 없습니다. 저는 리눅스에 대한 기본적인 실무 지식만 가지고 있습니다. 무슨 일이야? 왜 run.sh를 볼 수 없나요?

memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ sudo /home/memsql/voltdb/doc/tutorials/helloworld/run.sh
sudo: /home/memsql/voltdb/doc/tutorials/helloworld/run.sh: command not found
memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ ls
Client.class  deployment.xml  Insert.class  log     run.sh        Select.java
Client.java   helloworld.sql  Insert.java   README  Select.class  statement-plans
memsql@memsql-virtual-machine:~/voltdb/doc/tutorials/helloworld$ pwd
/home/memsql/voltdb/doc/tutorials/helloworld

답변1

실행 가능하게 만든 chmod a+x run.sh다음 다시 시도해야 합니다.

그러면 파일이 실행 가능해집니다.

답변2

파일이 실행 가능하지 않다는 점에서 다른 사람이 언급한 것일 가능성이 높습니다. 때로는 다른 것입니다.

shebang(또는 이에 상응하는 내용)이 올바르지 않은 경우 쉘 #!/bin/sh보고서를 보았 file not found거나command not found~이다실행 파일이 있습니다. 내가 봤을 때 그것은 /usr/bin에 있던 #!/usr/local/bin/perlPerl 스크립트의 경우였습니다.perl

그냥 내가 이 다른 잠재적인 원인을 던질 것이라고 생각했습니다.

관련 정보