2014-07-18 36 views
1

我有一个脚本运行在Bash和其他运行在tcsh中的脚本。如何在Linux上制作混合bash/tcsh脚本?

我需要从同一个脚本运行它们。我如何创建一个 可以同时运行bash和tcsh命令的脚本?

+1

'csh'是'bash'很大的不同。你可以考虑使用'sh'派生的shell而不是'tcsh'。很难与'* csh'和'* sh'保持兼容性。 – konsolebox

+2

'我的一个程序只运行在Bash中,另一个只运行在tcsh'“请解释...” – John3136

+1

'bash prog1&csh prog2&'? – chepner

回答

1

大部分炮弹有一个参数,它允许你通过他们的字符串作为一个命令来运行,例如,对于bash,那么你可以运行

bash -c "echo this is a bash script; echo lalalala" 

运行该字符串在bash脚本,使用此运行其他嵌入式所需的shell。这将允许您在一个shell中创建一个脚本,当另一个程序需要运行时它将调用另一个shell。

如果在另一方面,他们都是正确shebanged与#!tcsh#!bash开始,你可以简单地使用从同一个bash脚本这两个脚本:

/path/to/script1 & 
/path/to/script2 & 
+0

我对linux很新,所以你能帮我解决吗? 在这样的画面: https://fbcdn-sphotos-ha.akamaihd.net/hphotos-ak-xpa1/v/t34.0-12/10566383_889632401051040_860617194_n.jpg?oh=d936481ece1d76a38277cd4f87170e75&oe=53CB6ABB&__gda__=1405848036_b2e8cf6a9527130ff867cc9c55a3b101 在页面顶部,您会看到bash shell。如果我运行我输入的任何内容(没有&),所有内容都将完美运行。请注意左侧的目录。现在,我还想在底部目录(mesh_bandwidth ... one)中运行“run.sh”程序。你能告诉我我该跑什么吗?谢谢 – user3853033

+0

啊,这听起来像你正在寻找的是按绝对路径运行脚本,如果你写你的命令为:'parsecmgmt -a run -p blackscholes&;/home/linaro/- removedLongPath -/run.sh'它应该做你想做的事,注意我没有写出完整的路径(需要太长的时间才能将路径复制出照片),但是你需要,基本上可以通过输入完整路径来运行任何脚本,以便从任何位置运行它,而不必位于同一文件夹中。那是你需要的吗?如果这是你想要的,我可以把它编辑成答案。 – Vality

+0

我得到这个错误: https://fbcdn-sphotos-ha.akamaihd.net/hphotos-ak-xpf1/v/t34.0-12/10559133_889648687716078_825646100_n.jpg?oh=03f53f99a6bea5a49fe61ca6320803f7&oe=53CB9CF2&__gda__=1405836015_283c4869747849ccd67d87152e2461ce 任何我做错了什么想法? – user3853033