如何将Example.bat更改为Example.pl?

我已经读过其他线程在这里input链接描述讨论L / UNIX的转换,但没有一个令人满意的。 我在编写我自己的脚本时也尝试了很多黑客types的方法。

我有以下example.bat脚本是代表我想要在UNIX上运行的脚本的types。

码:

echo "Example.bat" perl script1 param.in newParam.in perl script2 newParam.in stuff.D2D stuff.D2C program.exe stuff.D2C perl script3 stuff.DIS results.out 

我的问题是我不知道如何处理Unix和Bash shell中的程序。 我试图把它们放在一个系统()中,但是没有奏效。 有人可以帮帮我吗? 谢谢!

假设您的$PATH有一个名为program.exe的可执行文件(您很可能 – Unix可执行文件不必以.exe结尾,但没有说不能),您粘贴的代码是一个有效的shell脚本。 如果将其保存在名为example.bat的文件中,则可以通过键入来运行它

 sh example.bat 

进入shell提示符。

当然,Unix shell脚本通常使用后缀.sh – 或者根本没有后缀 – 而不是.bat 。 另外,如果您希望脚本可以直接执行,只需键入

 example.sh 

而不是sh example.sh ,你需要做三件事情:

  1. 用“shebang”行开始脚本:以#!开始的行#! 以及要用来运行它的shell解释器的完整路径(例如,基本Bourne shell的/bin/sh ),如下所示:

     #!/bin/sh echo "This is a shell script." # ... more commands here ... 
  2. 使用chmod命令将脚本标记为可执行文件,例如

     chmod a+rx example.sh 
  3. 把你的脚本放在你的$PATH某处。 在Unix上,默认路径通常不会包含当前目录. ,所以只能通过输入名字来执行当前目录下的程序。 但是,您可以通过指定显式路径来运行它们,例如

     ./example.sh # runs example.sh from the current directory 

    要找出你的$PATH是什么,只需在shell中键入echo $PATH