LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 504|回复: 2

[Solved]sudo时遇到的奇怪问题

[复制链接]
发表于 2011-5-18 17:11:20 | 显示全部楼层 |阅读模式
这个问题是我写PKGBUILD时偶然发现的,为了说明问题,我将情况简化如下:
编写一个1.sh文件,权限755,内容如下:
# !/bin/bash

. ./func

a_b-c


再编写一个func文件,权限644,内容如下:
a_b-c()
{
    echo 1
}


然后在Konsole中执行:
[gfioser@bp-arch profile]$ ./1.sh

结果返回1,一切正常。然而,执行:
[gfioser@bp-arch profile]$ sudo ./1.sh

却得到:
./func: line 4: `a_b-c': not a valid identifier


经过反复测试,终于发现,只要变量名中含有除字母数字下划线以外的字符,就会出现这个错误。请问这算Bug么?
发表于 2011-5-18 17:51:01 | 显示全部楼层
可能跟你sudo的设置有关吧,

我在 arch 和 debian sid 下试了试都没问题 ; 另外第一段代码有typo
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-18 18:58:59 | 显示全部楼层
Post by adaptee;2139575
可能跟你sudo的设置有关吧,

我在 arch 和 debian sid 下试了试都没问题 ; 另外第一段代码有typo


晕,我之前没注意。把shebang中的空格去掉后就一切正常了。谢谢了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表