簡體   English   中英

奇怪的行為:export CLASSPATH = $(JARS =(./ lib / *。jar); IFS = :;回顯“ $ {JARS [*]}”)

[英]strange behaviour : export CLASSPATH=$(JARS=(./lib/*.jar); IFS=:; echo “${JARS[*]}”)

export CLASSPATH=$(JARS=(./lib/*.jar); IFS=:; echo "${JARS[*]}")

如果我將此行放在bash_script.sh並執行

chmod +x bash_script.sh

然后運行

./bash_script.sh

它給出了錯誤。

Syntax error: "(" unexpected (expecting ")")

我如何能夠直接在提示符下運行此程序並獲得預期的結果。

$ export CLASSPATH=$(JARS=(./lib/*.jar); IFS=:; echo "${JARS[*]}")

我想知道這種奇怪行為的原因是什么。

#!/bin/bash添加為第一行,以強制其在bash shell中運行。

確保您的Shell腳本頂部有#!/bin/bash 數組語法VAR=(...)是一種bash-ism。 它在普通sh( #!/bin/sh )中不起作用。

順便說一句,這就像我在這里回答的那句話 如果是這樣,我鼓勵您使用更新的解決方案,而不要使用此解決方案。

無需手動構建類路徑列表。 Java支持包含jar文件的目錄的便捷通配符語法。

 java -cp "$LIB/*" 

(閱讀更多)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM