warum kann Linux meinen run.sh-Befehl nicht sehen?

warum kann Linux meinen run.sh-Befehl nicht sehen?

Ich habe eine run.sh in einem Verzeichnis in Ubuntu Linux 12.04 LTS. Ich habe die Pfadvariable geändert, damit sie Binärdateien an anderer Stelle in der Verzeichnisstruktur „sehen“ kann. Aber ich erhalte immer noch die Meldung „Befehl nicht gefunden“, selbst wenn ich den vollständigen Pfad angebe. Ich habe nur grundlegende Linux-Kenntnisse. Was ist los? Warum kann es run.sh nicht sehen?

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

Antwort1

Sie sollten es ausführbar machen chmod a+x run.shund es dann erneut versuchen.

Dadurch wird die Datei ausführbar.

Antwort2

Höchstwahrscheinlich liegt es daran, dass die Datei nicht ausführbar ist, wie bereits jemand anderes erwähnt hat. Manchmal liegt es aber auch an etwas anderem.

Wenn der Shebang ( #!/bin/shoder ein gleichwertiges) falsch ist, habe ich den Shell-Bericht gesehen file not foundoder command not foundobwohl esIstes gibt eine ausführbare Datei. Als ich es sah, handelte es sich um ein Perl-Skript, das #!/usr/local/bin/perlsich perlin /usr/bin befand.

Ich dachte nur, ich würde diese andere mögliche Ursache noch einbringen.

verwandte Informationen