shell编程。ubuntu下的shell出错,提示第4行function: not found,还有第七行的 } 有错。高手教一下

#!/bin/sh
hello="var1"
echo $hello
function func1 {
local hello="var2"
echo $hello
}

func1
echo $hello

第1个回答  2017-11-27

在Ubuntu中使用shell脚本时,定义函数不用加 function关键字

#!/bin/sh

hello="var1"

echo $hello

func1() {    #去掉function即可

local hello="var2"

echo $hello

}

func1

echo $hello

第2个回答  2011-10-10
无论何种语言,函数都是要()里面有时按需求要填上参数
function func1()追问

./funlocal.sh: 4: Syntax error: "(" unexpected。改了还有错

追答

我试了没有问题
var1
var2
var1
估计哪里写错了,复制下面的再试试,还不行就是系统有问题
#!/bin/bash
hello="var1"
echo $hello
function func1(){
local hello="var2"
echo $hello
}
func1
echo $hello

追问

谢谢,你的这个可以。第一行写成 #!/bin/sh 不可以吗

追答

我估计你的格式有问题,什么中英文 空格什么的有的肉眼是看不出来的

sh bash区别是有的,但不会影响你这个脚本的执行。你不信再改成sh试试,应该也可以

本回答被提问者采纳
第3个回答  2011-10-10
#!/bin/bash
hello="var1"
echo $hello
function func1(){
local hello="var2"
echo $hello
}
func1
echo $hello追问

./funlocal.sh: 4: Syntax error: "(" unexpected。还是有错

第4个回答  推荐于2018-03-08
使用bash可以运行,且没有出现问题
madison@LBK:~/word$ bash fun.sh
var1
vsr2
vsr2本回答被网友采纳
第5个回答  2011-10-10
function func1 { 改成 func1() {追问

./funlocal.sh: 4: Syntax error: "(" unexpected。改了还有错

相似回答