看板 Linux 關於我們 聯絡資訊
※ 引述《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
Gold740716: sorry``包起來是<code></code>的意思 11/09 12:19