作者kenduest (小州)
看板Linux
标题Re: [问题] shellscript内指定shell参数(octave)
时间Mon Nov 9 00:48:56 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/Linux/M.1447001339.A.4A4.html
1F:推 Gold740716: sorry``包起来是<code></code>的意思 11/09 12:19