我嘗試做以下shell相當於下面的C++的腳本簡單的shell腳本語法錯誤:[:缺少「]」
int x=1;
int y=2;
int k=0;
for (int i=0;i<10;i++)
{
for (int j=0;j<10;j++)
{
if ((x==1) && (y==2))
{
k=1;
}
}
}
我總是越來越怪異synatax錯誤,如必須有[
之間的間隔或別的東西,我相信它的這些原因
這是我的示例代碼看起來像
for x in ${title[@]}
do
for y in ${author[@]}
do
if [ [ $x == $1] && [ $y == $2] ]; # error : [: missing ']'
then
error=1
return "$error"
fi
done
done
如何d一個O I解決它
的']'必須是一個單獨的參數替換
if [ [ $x == $1] && [ $y == $2] ];
;它不是關鍵字。所以,至少在2和'''之間需要一個空格。這會給你留下一個無效的外部'['命令;你需要使用'[['和']]'測試,或者你需要更加仔細地重寫'['...']'命令(可以說是對'['命令]的兩次調用)。 –如果你指定了你正在使用的* shell,它會有所幫助。 – juanchopanza