關於shell script 一個奇怪的問題 - Linux

Ida avatar
By Ida
at 2013-07-02T14:35

Table of Contents

小弟最近才開使用shell script (bash)
但發現了一個怪問題
很多指令再terminal 直營都沒問題
但是寫在script 裡面執行就會出錯

譬如 我想定義一個string array
如果在terminal 直接輸入
declare -a arr=('001' '002' '003')
就沒問題

但如果存成檔名test1.sh 的script 再執行
就會出現以下錯誤

test1.sh: 1: test1.sh: Syntax error: "(" unexpected

請問友人知道怎麼解決嗎?

--
Tags: Linux

All Comments

Caitlin avatar
By Caitlin
at 2013-07-04T14:09
我試過沒問題耶
Leila avatar
By Leila
at 2013-07-06T17:42
請先檢查你使用什麼shell script, bash沒問題
Queena avatar
By Queena
at 2013-07-08T11:35
你可能是使用到sh執行
Daniel avatar
By Daniel
at 2013-07-10T01:43
script第一行改成#!/bin/bash應該就可以.
Daph Bay avatar
By Daph Bay
at 2013-07-12T13:48
我剛用其他cluster 跑就可以, 用我自己的電腦就不行
Emily avatar
By Emily
at 2013-07-14T13:45
先確認login shell與path echo $SHELL $BASH_VERSION
Rosalind avatar
By Rosalind
at 2013-07-15T01:45
我確認了 /bin/bash 4.2.45(1)-release
不知道是不是版本的問題?
Enid avatar
By Enid
at 2013-07-18T03:16
你的/bin/sh是bash嗎?
試試看 bash test1.sh 這樣執行,或是#!/bin/bash
Quintina avatar
By Quintina
at 2013-07-20T05:14
此問題主要是/bin/sh實際上為dash - 只提基本功能.
改為#!/bin/bash即可解覺問題.
Blanche avatar
By Blanche
at 2013-07-23T19:05
可是airjaguar確認他的login shell是bash耶!
Rachel avatar
By Rachel
at 2013-07-28T09:43
login shell不見得是/bin/sh呀
Ingrid avatar
By Ingrid
at 2013-07-31T18:54
像是debian/ubuntu,預設login shell是bash,但/bin/sh是dash
Hedwig avatar
By Hedwig
at 2013-08-02T21:34
不然查一下存檔的標準輸入有無走樣 cat < test1.sh
Tristan Cohan avatar
By Tristan Cohan
at 2013-08-02T23:31
喔~最近開始使用bash,所以先前都是用sh囉!
Franklin avatar
By Franklin
at 2013-08-03T22:38
所以Linux system執行sh檔是用/bin/sh來run,而不是login
Isla avatar
By Isla
at 2013-08-08T05:44
shell?如果是那真是我觀念上的盲點阿!!
Valerie avatar
By Valerie
at 2013-08-12T20:01
大多數腳本開頭是寫#!/bin/sh,所以會用/bin/sh跑
改#!/bin/bash的話就會用/bin/bash跑
Audriana avatar
By Audriana
at 2013-08-16T12:10
至於/bin/sh到底是哪種shell...通常會跟login shell一樣,但
Wallis avatar
By Wallis
at 2013-08-21T08:57
debian/ubuntu就是很顯著的不一樣的例子囧rz
之前遇到bash與dash之間有個for語法不相容的時候才知道有這
回事....
Dorothy avatar
By Dorothy
at 2013-08-22T10:20
我也是那時候才知道login shell可以跟/bin/sh不一樣囧
Callum avatar
By Callum
at 2013-08-22T17:18
原來如此,值得了!
Heather avatar
By Heather
at 2013-08-25T07:32
sh一定是bourne compatible shell,不可能變成cshell系列
Oliver avatar
By Oliver
at 2013-08-26T20:54
樓上沒錯...
Isla avatar
By Isla
at 2013-08-27T05:31
應該是 bash 太強一堆擴充語法的關係? XD

ssh連不上VMware的linux(bridged network)

Brianna avatar
By Brianna
at 2013-07-01T17:30
大家好 我在win7的VMware上裝了CentOS 6.4, 而win7網路是在NAT下(192.168.0.x) 原本此VM的網路設為NAT, 可以在host OS用ssh連上去(此時CentOS的 ip 是 192.168.19.x) 但網路改成bridged就沒辦法用ssh連了, putty訊息 ...

ssh GUI的問題

Enid avatar
By Enid
at 2013-07-01T13:57
X11 Forwarding有開嗎? ※ 引述《kuo7754 (無)》之銘言: : 我先描述一下問題 : 我用Xmanger XDMCP 開root跟使用者 : 再用Xmager 或 pietty的 ssh連線 : 一開始是有此問題 無法開程式 : _X11TransSocketINETConnect() ...

ubuntu 桌面將轉用Qt/QML

Eden avatar
By Eden
at 2013-07-01T13:57
: → qoopichu:最近難得Valve願意把Steam及旗下遊戲陸續開發出Linux版就 06/29 23:54 : → qoopichu:是有發現一般使用者有在成長,而主要也是歸功於ubuntu 06/29 23:55 : → qoopichu:官方推薦使用的版本也是ubuntu,所以在這情 ...

OpenCV2.4.5在ubuntu13.04下安裝

Yedda avatar
By Yedda
at 2013-07-01T13:33
※ 引述《discipile (DIS)》之銘言: : 因為目前opencv跟ubuntu都是最新的 : 所以我找了網路上最新的教學來看: : http://blog.csdn.net/bg2bkk/article/details/9048649 : 不知道為甚麼安裝起來還是很卡 : 目前算是都安裝完了吧?( ...

HackingThursday 固定聚會 (2013-07-04)

Ingrid avatar
By Ingrid
at 2013-07-01T12:02
通告網址: [http://www.hackingthursday.org/][1] * * * * 時間: 每週四晚上 19:30 至 22:00 ( 熱食供應至 20:00 ) * 地點: 伯朗咖啡 ( 建國店 ) * 地址: 台北市大安區建國南路一段 166 號 2 樓 * 鄰 ...