作者 主題: bash shell script問題  (閱讀 7721 次)

0 會員 與 1 訪客 正在閱讀本文。

vicent

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
bash shell script問題
« 於: 2003-05-30 10:58 »
我在Linux寫了一個bash script , a
如下
#!\bin\bashset -x
clear
tcpdump -i eth0

執行出現問題如下
#./a
bash: ./a: bad interpreter: No such file or directory

可是我檢查/bin/bash檔案有存在啊?Why?  :roll:

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
bash shell script問題
« 回覆 #1 於: 2003-05-30 11:46 »
兄台 :))

Unix 與 Windows 的路徑符號是不同的 ^^

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
bash shell script問題
« 回覆 #2 於: 2003-05-30 11:54 »
她不認同 #!\bin\bashset -x ... 因為 /bin/沒有bashset

小弟沒看過 -x , 不知用於何處呢?

ps: 記得 tcpdump 這指令若輸出至檔案要特殊程式才可觀看(細節小弟不知)

jerryhuang

  • 憂鬱的高中生
  • ***
  • 文章數: 173
    • 檢視個人資料
Re: bash shell script問題
« 回覆 #3 於: 2003-05-30 14:38 »
引述: "vicent"
我在Linux寫了一個bash script , a
如下
#!\bin\bashset -x
clear
tcpdump -i eth0

執行出現問題如下
#./a
bash: ./a: bad interpreter: No such file or directory

可是我檢查/bin/bash檔案有存在啊?Why?  :roll:

/bin/bash 在..可是 \bin\bashset 沒這個東西呀...
加 -x 可把script 的執行過程顯示出來...通常用來除錯

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
bash shell script問題
« 回覆 #4 於: 2003-05-30 15:01 »
Linux: /bin/bashset
Windows: \bin\bashset

reggie

  • 活潑的大學生
  • ***
  • 文章數: 386
    • 檢視個人資料
bash shell script問題
« 回覆 #5 於: 2003-05-30 15:06 »
我剛剛run了一下...好像沒bashset這檔...改成bash就可以run了
不過路徑符號有改成/

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
bash shell script問題
« 回覆 #6 於: 2003-05-30 15:10 »
或許應是:

#!/bin/bash set -x
...
...

或:
#!/bin/bash
set -x
...
...

vicent

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
Re: bash shell script問題
« 回覆 #7 於: 2003-05-30 20:45 »
引述: "vicent"
我在Linux寫了一個bash script , a
如下
#!\bin\bashset -x


各位大大,不好意思呢!上面字打錯啦... :oops:

scripts Eth0如下

#!/bin/bash    ==>這行出錯
set -x
cat Eth0 > eth0dump
date >> eth0dump
tcpdump -i eth0 -c 500 -e -s 0 -x

#./Eth0
+ ./Eth0
bash: ./Eth0: bad interpreter: No such file or directory

我在別台Linux執行都沒有問題,在這一台跑bash script,
#!/bin/bash,這行命令不被系統接受,
該檔案/bin/bash也有存在,Why? :roll:

Tetralet

  • 活潑的大學生
  • ***
  • 文章數: 370
    • 檢視個人資料
Re: bash shell script問題
« 回覆 #8 於: 2003-05-30 21:54 »
引述: "vicent"
cat Eth0 > eth0dump


改成 echo Eth0 > eth0dump 試試看!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
bash shell script問題
« 回覆 #9 於: 2003-05-30 23:53 »
你是在 windows 上編寫的還是在  linux 上寫的?

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
bash shell script問題
« 回覆 #10 於: 2003-05-31 01:55 »
引述: "Tetralet"
引述: "vicent"
cat Eth0 > eth0dump
改成 echo Eth0 > eth0dump 試試看!

Tetralet 學長 , 您心思還真縝密 , 小弟都沒想到 Eth0 不是檔案的情況捏...

Tetralet

  • 活潑的大學生
  • ***
  • 文章數: 370
    • 檢視個人資料
bash shell script問題
« 回覆 #11 於: 2003-05-31 02:07 »
引述: "dark"
Tetralet 學長 , 您心思還真縝密 , 小弟都沒想到 Eth0 不是檔案的情況捏...


謝謝您的誇獎!
整個人突然輕飄飄的呢!


路人:看他樂成這個樣子... (搖頭)
小四:偶爾也讓人家表現一下嘛~~(高興~~)

vicent

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
bash shell script問題
« 回覆 #12 於: 2003-05-31 06:00 »
引述: "netman"
你是在 windows 上編寫的還是在  linux 上寫的?

我是在Linux編寫的啊... :roll:

vicent

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
Re: bash shell script問題
« 回覆 #13 於: 2003-05-31 06:04 »
引述: "Tetralet"
引述: "vicent"
cat Eth0 > eth0dump


改成 echo Eth0 > eth0dump 試試看!

試了,還是樣的錯誤訊息

bash: ./Eth0: bad interpreter: No such file or directory

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
bash shell script問題
« 回覆 #14 於: 2003-05-31 07:26 »
因為您 Eth0 是該目錄下檔案 , 又要以字串導向... 電腦沒那麼聰明

多加個引號吧... echo 'Eth0' > eth0dump

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17479
    • 檢視個人資料
    • http://www.study-area.org
bash shell script問題
« 回覆 #15 於: 2003-05-31 20:59 »
1) 先試:
cd /tmp
echo '#!/bin/bash' > my.sh
echo 'set -x' >> my.sh
echo 'echo hello world' >> my.sh
chmod +x my.sh
./my.sh
2) 若成功,請回報。
3) 然後按你的 Eth0 的內容再寫一遍,看看如何?

Jerry Wu

  • 懷疑的國中生
  • **
  • 文章數: 50
    • 檢視個人資料
    • http://home.kimo.com.tw/jerry_wu_linux/
Re: bash shell script問題
« 回覆 #16 於: 2003-05-31 21:42 »
引述: "vicent"
引述: "vicent"
我在Linux寫了一個bash script , a
如下
#!\bin\bashset -x


各位大大,不好意思呢!上面字打錯啦... :oops:

scripts Eth0如下

#!/bin/bash    ==>這行出錯
set -x
cat Eth0 > eth0dump
date >> eth0dump
tcpdump -i eth0 -c 500 -e -s 0 -x


改寫此 script,將 set -x 拿掉,以底下指令執行
試試看,並看看跑出來的偵錯訊息...

sh -xv Eth0

引用

#./Eth0
+ ./Eth0
bash: ./Eth0: bad interpreter: No such file or directory

我在別台Linux執行都沒有問題,在這一台跑bash script,
#!/bin/bash,這行命令不被系統接受,
該檔案/bin/bash也有存在,Why? :roll:


檔頭改為 #!/bin/sh 試看看!!
====  人生自在,自在人生  =====