当前位置: 技术问答>linux和unix
请教一个关于shell scripts的问题
来源: 互联网 发布时间:2015-11-20
本文导语: 文件function如下: # function test(){ echo $1 $2 } if ['id -u '=1146]; then test a b fi 我输入id -u后是1146 上面的代码source function后,出现下面的提示 -bash: [id -u =1146]: command not found 是怎么回事? 我是仿照...
文件function如下:
# function
test(){
echo $1 $2
}
if ['id -u '=1146]; then
test a b
fi
我输入id -u后是1146
上面的代码source function后,出现下面的提示
-bash: [id -u =1146]: command not found
是怎么回事?
我是仿照/etc/profile里面写的一个片断,那里面是这样的
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
# function
test(){
echo $1 $2
}
if ['id -u '=1146]; then
test a b
fi
我输入id -u后是1146
上面的代码source function后,出现下面的提示
-bash: [id -u =1146]: command not found
是怎么回事?
我是仿照/etc/profile里面写的一个片断,那里面是这样的
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
|
你的[和id中间没空格吧?另外,括起id -u的不是单引号,你要用反引号。
|
上面是正解。
学shell 不要想当然。
[]两边不加空格是常见错误了, ``的问题也是FAQ了。
先找写shell的资料看看, 磨刀不误砍柴工阿
学shell 不要想当然。
[]两边不加空格是常见错误了, ``的问题也是FAQ了。
先找写shell的资料看看, 磨刀不误砍柴工阿