由于某种原因,此功能正常运行,终端正在输出
newbootstrap.sh: 2: Syntax error: "(" unexpected
这是我的代码(第2行是
MoveToTarget() {
函数)#!/bin/bash
function MoveToTarget() {
#This takes to 2 arguments: source and target
cp -r -f "$1" "$2"
rm -r -f "$1"
}
function WaitForProcessToEnd() {
#This takes 1 argument. The PID to wait for
#Unlike the AutoIt version, this sleeps 1 second
while [ $(kill -0 "$1") ]; do
sleep 1
done
}
function RunApplication() {
#This takes 1 application, the path to the thing to execute
exec "$1"
}
#our main code block
pid="$1"
SourcePath="$2"
DestPath="$3"
ToExecute="$4"
WaitForProcessToEnd $pid
MoveToTarget $SourcePath, $DestPath
RunApplication $ToExecute
exit
最佳答案
您使用错误的语法来声明函数。使用此代替:
MoveToTarget() {
# Function
}
或这个:
function MoveToTarget {
# function
}
但不是两个。
另外,我看到稍后您会使用逗号分隔参数(
MoveToTarget $SourcePath, $DestPath
)。这也是一个问题。 bash使用空格分隔参数,而不是逗号。删除逗号,您应该会很高兴。关于linux - bash语法错误: “(” unexpected,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6347119/