首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uclinux中的shell脚本执行错误

uclinux中的shell脚本执行错误
EN

Stack Overflow用户
提问于 2010-01-07 21:01:16
回答 6查看 682关注 0票数 1

我有一个简单的shell脚本,如下所示:

代码语言:javascript
复制
myfunc()
{
        #print hello world
        echo "Hello World";
}

myfunc

当我在linux上执行时,这个脚本运行得很好,但是当我在uclinux中运行同样的脚本时,我得到的错误是“语法错误”。问题的原因可能是什么?

更新:

下面的代码可以在uclinux中运行:

代码语言:javascript
复制
####\#!/bin/sh
echo "Hello World"

但是,以下代码不起作用:

代码语言:javascript
复制
####!/bin/sh
myfunc()
{
        #print hello world
        echo "Hello World";
}

myfunc
EN

回答 6

Stack Overflow用户

发布于 2010-10-13 16:39:08

结果取决于您运行的shell。大多数uclinux的shell实际上都是指向Busybox的符号链接。Busybox为不同的内存占用需求实现了各种微型shell。据我所知,只有ash支持函数语法。检查busybox版本及其构建配置。

票数 1
EN

Stack Overflow用户

发布于 2010-01-07 21:05:14

也许你安装的uclinux使用了不同的shell?

说"shell脚本不工作“就像说”我的源代码不工作“。当然,只有当你说出你的源代码所用的语言时,这个短语才有意义。shell脚本也是如此:它是bash吗?是ksh吗?是tcsh吗?对于uclinux,我非常怀疑它是busybox。

票数 0
EN

Stack Overflow用户

发布于 2010-01-07 21:35:13

您的shell脚本应该有一个shebang行,它将使脚本由您指定的shell执行。这可以减少或消除许多意外错误,这些错误是由于当前(或默认) shell执行脚本时shell之间的语法差异造成的,这些shell可能由于多种原因而不同。

脚本文件的第一行应类似于:

代码语言:javascript
复制
#!/bin/sh

使用适合您需要的shell的路径和名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2020403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档