How To Make and Run Batch Files In Terminal In Mac OSX

//How To Make and Run Batch Files In Terminal In Mac OSX

How To Make and Run Batch Files In Terminal In Mac OSX

I use batch files sometimes when I was using Windows because it saves a lot of time when you need to run a batch of commands frequently. With a batch file, you save all the commands into one file, and just run the batch file, instead of your gazillion commands individually.

I was facing the same situation in Mac OSX when I realised that I didn’t know how to create a batch file in Mac OSX. Turns out it’s pretty easy. Mac OSX is unix-based, so I could use the unix equivalent (which is called a script too). What you need to do is to put all the commands you want into a plain text document, and save it with a name (without the .txt extension preferably, but that really doesn’t matter…it just looks more right that way).

In Windows, that’s all that you need to do, but for the Mac, you’ll need to make sure that you edit your batch file’s permissions so it is executable. So for example, if your batch file is named batchfile, one way to change its permissions is to right-click on it, click on “Show Info”, and then change the permissions under “Permissions” to show 755.

What 755 does is to give permissions of 7 to you, 5 to your user group, and 5 to everyone else. With a permission of 7, you can write to the file and execute it. With a permission of 5, you can execute the file but not write to it.

Another way is for you to change permissions of the file is to go into Terminal, and enter this command that changes its permissions. You’ll need to be in the directory that batchscript is in for the following command to work (or you’ll need to specify its full path):

chmod 755 batchscript

Now to run your batch file, you just need to either specify the full path to the batch file, or if you are already in the directory where it is located, you can type:


Note that you have to put the “./” in front of your filename, in order to tell Terminal to look for the file in the current directory.

And with that, you’ll have a working batch file in Mac OSX!

Similar Posts:

By |2011-02-27T19:47:36+00:00January 11th, 2010|Tutorials & Tips|6 Comments

About the Author:

Alvin Poh lives in Singapore, and is interested in marketing, techy stuff, and likes to just figure out how the two can work with each other. He can also be found on Google+.


  1. Debbie February 27, 2011 at 4:29 pm - Reply

    > In Windows, that’s all that you need to do, but for Mac there’s 2 extra steps

    2 extra steps?

    So I have to do *BOTH* of those 2 things. (Change the file permissions twice?)


    • Alvin February 27, 2011 at 7:45 pm - Reply

      Hmm I’ve revised the part that you’re talking about

  2. Jim June 19, 2012 at 3:01 am - Reply

    Thank you Alvin for this short and to the point article. Everything just works. I used to make batch files all the time in DOS/Windows. With your help I now have a batchscript to restart my local MySQL server if it looks like it’s getting unstable.

    Again Thanks,

  3. santosh September 11, 2012 at 2:47 am - Reply


    how to handle password.For example i have like ssh c1557004@neviss

    and after that it prompts for a password which i want to add to the batch file only so that my other commands which are present after this command can run also.

    Waiting For your reply.

  4. gernot April 15, 2017 at 7:28 pm - Reply

    not pleasing
    now what i use is neither pleasing that’s why i was looking for a better solution.
    i take a hex editor to create the batch and it works later like a executable, i can start it with a doublclick.
    this sytem is ok for me, but you can’t expect of everbody to use a hex editor even if that’s for such a simple task the same as with any text editor.

  5. priya January 18, 2018 at 5:48 pm - Reply

    When i drag and drop the batch file to the terminal it says:
    line 1: @echo: command not found
    installer.bat: line 3: rem: command not found
    line 4: rem: command not found
    line 5: rem: command not found
    ine 6: rem: command not found

Leave A Comment