shell执行命令返回127
时间: 2024-01-30 11:12:23 浏览: 59
当shell执行命令返回127时,表示命令未找到或无法执行。这通常是因为系统找不到要执行的命令或脚本文件。可能的原因包括:
1. 命令或脚本文件不存在或路径不正确。
2. 命令或脚本文件没有执行权限。
以下是一个示例,演示了当shell执行命令返回127时的情况:
```shell
$ mycommand
bash: mycommand: command not found
$ echo $?
127
```
在上面的示例中,当执行`mycommand`命令时,系统找不到该命令,因此返回127。
相关问题
python 执行shell 命令并返回结果
可以使用Python的`subprocess`模块来执行shell命令并返回结果。可以使用`subprocess.run()`函数来执行命令,并且可以通过`stdout`参数来获取命令执行的输出结果。以下是一个示例代码:
```python
import subprocess
# 执行shell命令
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
# 获取命令执行的输出结果
output = result.stdout.decode('utf-8')
# 打印输出结果
print(output)
```
在上面的示例中,我们执行了`ls -l`命令,并通过`stdout`参数获取了命令执行的输出结果。然后使用`decode()`方法将输出结果从字节串转换为字符串,最后将结果打印出来。
java执行shell命令并返回结果
可以使用Java中的`Runtime`类来执行Shell命令并返回结果。以下是一个简单的示例:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ShellCommand {
public static void main(String[] args) {
String command = "ls -l"; // 要执行的Shell命令
try {
Process process = Runtime.getRuntime().exec(command);
// 读取Shell命令的输出
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待Shell命令执行完毕
int exitCode = process.waitFor();
// 输出Shell命令的退出码
System.out.println("Exit code: " + exitCode);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码将执行`ls -l`命令并输出其结果。你可以将`command`变量设置为你想要执行的任何Shell命令。