在mac os中等效.bat

时间:2012-12-28 05:37:41

标签: macos batch-file sh

我目前使用的.bat文件用于调用java文件。如果我想在Mac OS上使用相同的功能,我会做出哪些格式更改? (除非Mac OS上的.bat等效格式为.sh格式?)

java -cp  ".;.\supportlibraries\Framework_Core.jar;.\supportlibraries\Framework_DataTable.jar;.\supportlibraries\Framework_Reporting.jar;.\supportlibraries\Framework_Utilities.jar;.\supportlibraries\poi-3.8-20120326.jar;D:\downloads\Selenium 2.0\selenium-server-standalone-2.19.0.jar" allocator.testTrack

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:25)

你可以在这里找到答案吗? Equivalent of double-clickable .sh and .bat on Mac?

通常,您可以为Mac OS创建bash脚本,您可以在其中放置与批处理文件中类似的命令。对于你的情况,创建bash文件并输入相同的命令,但是用常规命令改变反斜杠。

您的文件将类似于:

#! /bin/bash
java -cp  ".;./supportlibraries/Framework_Core.jar;./supportlibraries/Framework_DataTable.jar;./supportlibraries/Framework_Reporting.jar;./supportlibraries/Framework_Utilities.jar;./supportlibraries/poi-3.8-20120326.jar;PATH_TO_YOUR_SELENIUM_SERVER_FOLDER/selenium-server-standalone-2.19.0.jar" allocator.testTrack

将上面路径中的文件夹更改为相关文件夹。

然后使此脚本可执行:打开终端并使用您的脚本导航到文件夹。然后更改此文件运行命令的读写执行权限:

chmod 755 scriptname.sh

然后你可以像任何其他常规脚本一样运行它:     ./scriptname.sh

或者你可以运行它将文件传递给bash:

bash scriptname.sh

答案 1 :(得分:11)

常见的惯例是将它放在一个看起来像这样的.sh文件中 -

#!/bin/bash
java -cp  ".;./supportlibraries/Framework_Core.jar;... etc

请注意'\'变为'/'。

您可以执行

sh myfile.sh

或在文件上设置x位

chmod +x myfile.sh

然后只需致电

myfile.sh

答案 2 :(得分:0)

我在下面引用的论坛页面中找到了一些有用的信息。
由此,主要是加粗格式的句子,我的答案是:

  • 为.bat文件制作bash(shell)脚本版本(如其他
    答案,文件路径中的\更改为/)。例如:

    # File "example.command":
    #!/bin/bash
    java -cp  ".;./supportlibraries/Framework_Core.jar; ...etc.
    
  • 然后将其重命名为Mac OS文件扩展名.command
    这应该可以使脚本使用终端应用程序运行。

  • 如果应用程序用户要在Linux上使用文件的bash脚本版本
    或从命令行运行它,他们需要添加可执行权限。
    (更改模式位),使用以下命令,在具有以下文件的文件夹中:

    chmod +rx [filename].sh
    #or:# chmod +rx [filename].command
    

forum page问题:

  

早上好,[...]我想知道是否存在一些“简单”规则来编写等效内容
  Windows(DOS)bat文件的名称。我只想单击一个文件并使其运行。

问题后一些答案中的信息:

  

编写一个shell脚本,并给它扩展名“ .command”。   例如:

#!/bin/bash 
printf "Hello World\n" 

-2010年3月23日,托尼T1。

  

DOS .BAT文件是试图将类似于UNIX脚本思想的东西引入MS-DOS。
  通常,UNIX允许您创建一个带有命令的文本文件,然后只需标记
就可以运行它。   文本文件为可执行文件(而不是为其指定特定的后缀)。这就是OS X的操作方式。

     

但是,OS X添加了以下功能:如果为文件提供后缀.command ,则为Finder
  将运行Terminal.app来执行它(类似于BAT文件在Windows中的工作方式)。

     

但是,与MS-DOS不同,UNIX(和OS X)允许您指定使用什么解释器。
  用于脚本。解释器是一个程序,可以从文件中读取文本并执行某些操作
  用它。 [...]在UNIX中,您可以通过在
中的第一行来指定要使用的解释器   文本文件以“#!”开头的文件然后是到达解释器的路径。例如[...]

#!/bin/sh
echo Hello World

-2010年3月23日,J D McIninch。

此外,来自Equivalent of double-clickable .sh and .bat on Mac?的可接受答案的信息:

  

在Mac上,有一个用于执行Shell的特定扩展
  双击脚本:这是.command