2011-06-15 144 views
0

我已经编写了一个在shell脚本中按预期工作的函数。但是,如何从命令提示符调用它?我试过alias命令,但我得到一个错误从命令行调用函数

bash: syntax error near unexpected token `)' 

有,当我在命令提示符下键入SH myscript.sh没有这样的错误。

这里是新的错误:

# alias start_multi="start_multi() (for socket in {2..9} do; /usr/bin/mysqld_multi start $socket; done)" 

# start_multi 
bash: syntax error near unexpected token `/usr/bin/mysqld_multi' 
+0

请发表您的shell脚本 – 2011-06-15 04:54:05

回答

1

你试图从具有语法错误(使用大括号而不是括号)创建不会做你期待什么,一旁的别名。例如:

alias foo='bar() { echo Hello; }' 

将创建一个别名foo,在执行时,将定义功能bar。所以:

# foo 
# bar 
Hello 

要么你想跳过的别名函数声明(使它只是for环),或创建一个文本文件与函数声明和源它(. myscript.sh)。