shellscript內指定shell參數(octave) - Linux

By Valerie
at 2015-11-09T00:48
at 2015-11-09T00:48
Table of Contents
※ 引述《hijkxyzuw (i,j,k) ×(x,y,z)》之銘言:
: 問題大概是這樣,我寫了個shell_script,
: 執行時可以`/bin/bash test.sh`, `./test.sh`.
: 那要如何對bash下參數?
: 如果是第一種寫法,可以直接下:
1. 你的 ` 這個符號應該沒有特別意思?在 shell 使用 ` 是有特別意思的,
這裡猜你只是當作引號說明用。若是有意思的那也很奇怪,不合理就是。
2. 下什麼參數?比方要傳入給 bash 參數是 -a,那就是 /bin/bash -a test.sh
: `/bin/bash -r test.sh`.
: 第二種我就不知道了。
: 那可以把參數寫在script裡嗎?
: 我試過直接寫在第一行末無效……。
: #!/bin/bash -r
語法上是正確的,只是你沒說清楚是什麼問題...
另外實際上 bash 搭配 -r 幫助性不高,除非有實際的用途要不然真的不實用
: 其實我是想在網頁上執行octave, 感覺這是最簡單的方式……。
: 把/usr/bin/octave丟到我空間,給它執行權限。
: 然後腳本副檔名cgi, 用#!/home/username/octave開頭。
: 我知道很蠢……。
octave 不知道 http protocol 溝通的東西,若你要這樣用至少也應該寫一個 shell script,
程式碼裡面 會去執行 octave 程式,而不是直接把 octave 當作 cgi interpreter 這樣使用。
像是:
#!/bin/bash
echo -e "Content-type:text/html\n""
/path/your_octave_script
然後 /path/your_octave_script 檔案就大約這樣寫:
#!/bin/octave -qf
printf ("My octave program\n");
: 然後要上參數的原因是http訪問遇到error500,
: 覺得是沒有用"Content-type:text/html\n\n"開頭所致。
: 執行octave會先顯示出GNU宣言和一些介紹有的沒有,才開始執行腳本。
: 造成第一行輸出不是"Content-type:text/html\n\n".
: 如果用`$ octave -q`執行可以解決問題。
: 但我不知道如何在腳本中指定shell的參數啊……。
看完文章還是不知道你所謂 shell 參數是什麼問題?還有這個問題與 bash 使用 -r
的關係,雖然感覺這個問題與 -r 沒關係。
--
: 問題大概是這樣,我寫了個shell_script,
: 執行時可以`/bin/bash test.sh`, `./test.sh`.
: 那要如何對bash下參數?
: 如果是第一種寫法,可以直接下:
1. 你的 ` 這個符號應該沒有特別意思?在 shell 使用 ` 是有特別意思的,
這裡猜你只是當作引號說明用。若是有意思的那也很奇怪,不合理就是。
2. 下什麼參數?比方要傳入給 bash 參數是 -a,那就是 /bin/bash -a test.sh
: `/bin/bash -r test.sh`.
: 第二種我就不知道了。
: 那可以把參數寫在script裡嗎?
: 我試過直接寫在第一行末無效……。
: #!/bin/bash -r
語法上是正確的,只是你沒說清楚是什麼問題...
另外實際上 bash 搭配 -r 幫助性不高,除非有實際的用途要不然真的不實用
: 其實我是想在網頁上執行octave, 感覺這是最簡單的方式……。
: 把/usr/bin/octave丟到我空間,給它執行權限。
: 然後腳本副檔名cgi, 用#!/home/username/octave開頭。
: 我知道很蠢……。
octave 不知道 http protocol 溝通的東西,若你要這樣用至少也應該寫一個 shell script,
程式碼裡面 會去執行 octave 程式,而不是直接把 octave 當作 cgi interpreter 這樣使用。
像是:
#!/bin/bash
echo -e "Content-type:text/html\n""
/path/your_octave_script
然後 /path/your_octave_script 檔案就大約這樣寫:
#!/bin/octave -qf
printf ("My octave program\n");
: 然後要上參數的原因是http訪問遇到error500,
: 覺得是沒有用"Content-type:text/html\n\n"開頭所致。
: 執行octave會先顯示出GNU宣言和一些介紹有的沒有,才開始執行腳本。
: 造成第一行輸出不是"Content-type:text/html\n\n".
: 如果用`$ octave -q`執行可以解決問題。
: 但我不知道如何在腳本中指定shell的參數啊……。
看完文章還是不知道你所謂 shell 參數是什麼問題?還有這個問題與 bash 使用 -r
的關係,雖然感覺這個問題與 -r 沒關係。
--
Tags:
Linux
All Comments

By Jack
at 2015-11-09T16:15
at 2015-11-09T16:15
Related Posts
只備份核心程式的指令

By Mason
at 2015-11-08T21:41
at 2015-11-08T21:41
求救!OpenSUSE 開機選單被 Windows 給吃掉了!

By Leila
at 2015-11-08T14:56
at 2015-11-08T14:56
OpenSUSE Leap 42.1 圖影縮圖和播放 samba 伺服器的影片

By Kumar
at 2015-11-08T12:21
at 2015-11-08T12:21
若出版業公司全面改裝 Linux?

By Todd Johnson
at 2015-11-07T06:40
at 2015-11-07T06:40
gcin無法在gnome-terminal下切換中文

By Eden
at 2015-11-06T21:42
at 2015-11-06T21:42