2011-12-09 69 views

回答

10

您與/bin/sh,不/bin/bash運行腳本。 sh中沒有陣列。

[email protected] ~$ /bin/sh 
$ a=(1 2 3) 
/bin/sh: Syntax error: "(" unexpected 
0

你在用bash嗎?

$ bash --version 
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11) 
Copyright (C) 2007 Free Software Foundation, Inc. 
$ array=(1 2 3 4 5) 
$ echo ${array[1]} 
2 
$ 
+0

是的,這工作正常。但是,該腳本由於某種原因未運行。 –

+0

奇怪......當我將整個腳本複製粘貼到終端時,它可以正常工作。爲什麼不能用作外部文件? –

+0

@ user1068559您可以嘗試使用sh --verbose -x script.sh來運行腳本,並查看它實際上打破的位置http://tldp.org/LDP/abs/html/arrays.html可能也會對您有幫助 – jackdoe

0

而且有時是因爲額外的空間:

array = (1 2 3 4) 

是不對的。它應該是:運行腳本時按以下

array=(1 2 3 4) 
0

嘗試指定字bash

$ bash script.sh 
相關問題