我在 ubuntu linux 12.04 LTS 的目录中有一个 run.sh 。我一直在更改 Path 变量,以便它可以“看到”目录结构中其他位置的二进制文件。但即使我指定了完整路径,我仍然收到未找到命令。我只有linux的基本工作知识。到底是怎么回事?为什么看不到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
或等效的)不正确,我已经看过 shell 报告file not found
,或者command not found
即使它是有一个可执行文件。当我看到它时,这是一个 perl 脚本的情况,该#!/usr/local/bin/perl
脚本perl
位于 /usr/bin 中。
只是想我会加入另一个潜在的原因。