Mar 10, 2014 Type or paste this script into the text editor of your choice (see Creating Text Files in Your Home Directoryfor help creating a text file) and save the file in your home directory in a file called test.sh. Once you have saved the file in your home directory, type ‘chmod a+x test.sh’ in Terminal to make it executable. Feb 25, 2016 Bash is a shell originally written by Brian Fox at the Free Software Foundation in 1988. It is the default shell on Linux and Mac OS X, and has even made the jump to Windows via Cygwin. Written by Alexander Breen. Apr 21, 2015 How to make a simple bash script (Mac) The first step to make a simple bash script is writing the script. Open Text Edit, found in Applications, once in Text Edit, click “New Document”. Next, write the Bash Script, as below: #!/bin/bash tells the terminal that you are using bash shell. As mentioned by others, bash is the same bash (other than the already noted versions) but Mac OS X uses a (mostly) BSD userland. Many of the standard system utilities have slightly different options or behave slightly differently. They're unfortunately too numerous to list here.
The Terminal app allows you to control your Mac using a command prompt. Why would you want to do that? Well, perhaps because you’re used to working on a command line in a Unix-based system and prefer to work that way. Terminal is a Mac command line interface. There are several advantages to using Terminal to accomplish some tasks — it’s usually quicker, for example. In order to use it, however, you’ll need to get to grips with its basic commands and functions. Once you’ve done that, you can dig deeper and learn more commands and use your Mac’s command prompt for more complex, as well as some fun, tasks.
Curated Mac apps that keep your Mac’s performance under control. Avoid Terminal commands, avoid trouble.
Download FreeHow to open Terminal on Mac
The Terminal app is in the Utilities folder in Applications. To open it, either open your Applications folder, then open Utilities and double-click on Terminal, or press Command - spacebar to launch Spotlight and type 'Terminal,' then double-click the search result.
You’ll see a small window with a white background open on your desktop. In the title bar are your username, the word 'bash' and the dimensions of the window in pixels. Bash stands for 'Bourne again shell'. There are a number of different shells that can run Unix commands, and on the Mac Bash is the one used by Terminal.
If you want to make the window bigger, click on the bottom right corner and drag it outwards. If you don’t like the black text on a white background, go to the Shell menu, choose New Window and select from the options in the list.
If Terminal feels complicated or you have issues with the set-up, let us tell you right away that there are alternatives. MacPilot allows to get access to over 1,200 macOS features without memorizing any commands. Basically, a third-party Terminal for Mac that acts like Finder.
For Mac monitoring features, try iStat Menus. The app collects data like CPU load, disk activity, network usage, and more — all of which accessible from your menu bar.
Basic Mac commands in Terminal
The quickest way to get to know Terminal and understand how it works is to start using it. But before we do that, it’s worth spending a little time getting to know how commands work. To run a command, you just type it at the cursor and hit Return to execute.
Every command is made up of three elements: the command itself, an argument which tells the command what resource it should operate on, and an option that modifies the output. So, for example, to move a file from one folder to another on your Mac, you’d use the move command 'mv' and then type the location of the file you want to move, including the file name and the location where you want to move it to.
Let’s try it.
- Type cd ~/Documentsthen and press Return to navigate to your Home folder.
- Type lsthen Return (you type Return after every command).
You should now see a list of all the files in your Documents folder — ls is the command for listing files.
To see a list of all the commands available in Terminal, hold down the Escape key and then press y when you see a question asking if you want to see all the possibilities. To see more commands, press Return.
Unix has its own built-in manual. So, to learn more about a command type man [name of command], where 'command' is the name of the command you want find out more about.
Terminal rules
There are a few things you need to bear in mind when you’re typing commands in Terminal, or any other command-line tool. Firstly, every character matters, including spaces. So when you’re copying a command you see here, make sure you include the spaces and that characters are in the correct case.
You can’t use a mouse or trackpad in Terminal, but you can navigate using the arrow keys. If you want to re-run a command, tap the up arrow key until you reach it, then press Return. To interrupt a command that’s already running, type Control-C.
Commands are always executed in the current location. So, if you don’t specify a location in the command, it will run wherever you last moved to or where the last command was run. Use the cdcommand, followed by a directory path, like in Step 1 above, to specify the folder where you want a command to run.
There is another way to specify a location: go to the Finder, navigate to the file or folder you want and drag it onto the Terminal window, with the cursor at the point where you would have typed the path.
Here’s another example. This time, we’ll create a new folder inside your Documents directory and call it 'TerminalTest.'
- Open a Finder window and navigate to your Documents folder.
- Type cd and drag the Documents folder onto the Terminal window.
- Now, type mkdir 'TerminalTest'
Go back to the Finder, open Text Edit and create a new file called 'TerminalTestFile.rtf'. Now save it to the TerminalTest folder in your Documents folder.
In the Terminal window, type cd ~/Documents/TerminalTest then Return. Now type lsand you should see 'TerminalTestFile' listed.
To change the name of the file, type this, pressing Return after every step:
- cd~/Documents/Terminal Test
- mv TerminalTestFile TerminalTestFile2.rtf
That will change the name of the file to 'TerminalTestFile2'. You can, of course, use any name you like. The mv command means 'move' and you can also use it to move files from one directory to another. In that case, you’d keep the file names the same, but specify another directory before typing the the second instance of the name, like this:
mv ~/Documents/TerminalTest TerminalTestFile.rtf ~/Documents/TerminalTest2 TerminalTestFile.rtf
More advanced Terminal commands
Terminal can be used for all sorts of different tasks. Some of them can be performed in the Finder, but are quicker in Terminal. Others access deep-rooted parts of macOS that aren’t accessible from the Finder without specialist applications. Here are a few examples.
Copy files from one folder to another
- In a Terminal window, type ditto [folder 1] [folder 1] where 'folder 1' is the folder that hosts the files and 'folder 2' is the folder you want to move them to.
- To see the files being copied in the Terminal window, type -v after the command.
Download files from the internet
You’ll need the URL of the file you want to download in order to use Terminal for this.
- cd ~/Downloads/
- curl -O [URL of file you want to download]
If you want to download the file to a directory other than your Downloads folder, replace ~/Downloads/ with the path to that folder, or drag it onto the Terminal window after you type the cd command.
Change the default location for screenshots
If you don’t want macOS to save screenshots to your Desktop when you press Command-Shift-3, you can change the default location in Terminal
- defaults write com.apple.screencapture location [path to folder where you want screenshots to be saved]
- Hit Return
- killall SystemUIServer
- Hit Return
Change the default file type for screenshots
By default, macOS saves screenshots as .png files. To change that to .jpg, do this:
- defaults write com.apple.screencapture type JPG
- Press Return
- killall SystemUIServer
- Press Return
Delete all files in a folder
The command used to delete, or remove, files in Terminal is rm. So, for example, if you wanted to remove a file in your Documents folder named 'oldfile.rtf' you’d use cd ~/Documents to go to your Documents folder then to delete the file. As it stands, that will delete the file without further intervention from you. If you want to confirm the file to be deleted, use -i as in rm -i oldfile.rtf
To delete all the files and sub-folders in a directory named 'oldfolder', the command is rm -R oldfolder and to confirm each file should be deleted, rm -iR oldfolder
Just because you can use Terminal to delete files on your Mac, doesn’t mean you should. It’s a relatively blunt instrument, deleting only those files and folders you specify.
Bash Script Macro
Another way to free up space
If your goal in removing files or folders is to free up space on your Mac, or to remove junk files that are causing your Mac to run slowly, it’s far better to use an app designed for the purpose. CleanMyMac X is one such app.
![Machine Machine](/uploads/1/1/8/6/118659688/457961439.jpg)
It will scan your Mac for files and recommend which ones you can delete safely, as well as telling you how much space you’ll save. And once you’ve decided which files to delete, you can get rid of them in a click. You can download CleanMyMac here.
As you can see, while Terminal may look scary and seem like it’s difficult to use, it really isn’t. The key is learning a few commands, such as those we’ve outlined above, and getting to know the syntax for those commands.
However, you should be careful when using Terminal, it’s a powerful tool that has deep access to your Mac’s system files. Check commands by googling them if you’re not sure what they do. And if you need to delete files to save space, use an app like CleanMyMac X to do it. It’s much safer!
These might also interest you:
Terminal User Guide
Instead of entering commands and waiting for a response, you can compose shell scripts that run without direct interaction.
![Bash script macro Bash script macro](/uploads/1/1/8/6/118659688/388902707.jpg)
A shell script is a text file that contains one or more UNIX commands. You run a shell script to perform commands you might otherwise enter at the command line.
Shell scripts are useful because you can combine many common tasks into one script, saving you time and possible errors when performing similar tasks over and over. You can also automate shell scripts using tools such as
launchd
or Apple Remote Desktop.A shell script begins with a character combination that identifies it as a shell script—specifically the characters # and ! (together called a shebang) followed by a reference to the shell the script should be run with. For example, here’s the first line of a shell script that would be run with
sh
:You should document your shell scripts with comments. To add a comment, start the line with the number sign (#). Every line of a comment needs to begin with the number sign:
#This program returns the
#contents of my Home folder
Bash Command For Mac
You can put blank lines in a shell script to help visually distinguish different sections of the script.
You use the
chmod
tool to indicate that the text file is executable (that is, its contents can run as a program). See Make a file executable in Terminal on Mac.For information about how to write shell scripts, see the Shell Scripting Primer on the Apple Developer Connection website.
See alsoApple Support article: Use zsh as the default shell on your Mac