从$返回值127是什么意思?在UNIX中。
当前回答
这种错误有时也具有欺骗性。它说文件没有找到,即使文件确实存在。这可能是因为文件中存在无效的不可读的特殊字符,这可能是由您正在使用的编辑器引起的。在这种情况下,这个链接可能会对您有所帮助。
^M:坏的解释器:没有这样的文件或目录
找出是否是这个问题的最好方法是在整个文件中放置一个echo语句,并验证是否抛出了相同的错误。
其他回答
如果试图使用脚本语言运行程序,则可能需要包含脚本语言的完整路径和要执行的文件。例如:
exec('/usr/local/bin/node /usr/local/lib/node_modules/uglifycss/uglifycss in.css > out.css');
如果IBM大型机JCL在被调用的unix脚本的名称后面有一些额外的字符或数字,那么它就会抛出这样的错误。
一般的意思是:
127 -命令未找到
但它也可以表示找到了命令, 但是没有找到命令所需要的库。
127 -命令未找到
例子:$ caat 错误消息将
bash:
Caat:命令未找到
现在使用echo $?
shell惯例是,一个成功的可执行文件应该以值0退出。其他任何事情都可以解释为bash或您刚刚运行的可执行文件的某些部分出现了某种失败。参见bash手册页的$PIPESTATUS和EXIT STATUS部分:
对于shell而言,退出状态为零的命令已经成功。退出状态 为零表示成功。非零退出状态表示失败。上的命令终止时 致命信号N, bash使用128+N的值作为退出状态。
If a command is not found, the child process created to execute it returns a status of 127. If a com-
mand is found but is not executable, the return status is 126.
If a command fails because of an error during expansion or redirection, the exit status is greater than
zero.
Shell builtin commands return a status of 0 (true) if successful, and non-zero (false) if an error
occurs while they execute. All builtins return an exit status of 2 to indicate incorrect usage.
Bash itself returns the exit status of the last command executed, unless a syntax error occurs, in
which case it exits with a non-zero value. See also the exit builtin command below.
推荐文章
- 查看PS命令的全部输出
- 确保一次只运行一个shell脚本实例的快速方法
- 如何从命令行通过mysql运行一个查询?
- 在创建守护进程时执行双fork的原因是什么?
- 对以制表符分隔的文件进行排序
- 如何使用查找命令从列表中查找所有具有扩展名的文件?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- 在Bash中获取日期(比当前时间早一天)
- Linux: kill后台任务
- 在OSX中永久设置PATH环境变量
- 如何在C程序中获取当前目录?
- 如何在Bash中逐行合并两个文件
- 如何从远程SSH会话发送数据到本地剪贴板
- 我如何得到bash完成工作与别名?
- SSH端口转发~/。ssh /配置文件?