推 Gold740716: sorry``包起來是<code></code>的意思 11/09 12:19
※ 引述《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 沒關係。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.71.87
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1447001339.A.4A4.html