By Alvin Alexander. Last updated: January 24, 2023
Today I wanted to create a Unix alias that took an argument (command-line argument), but from what I saw, that wasn’t going to be easy, so I created this little shell script to do what I want. It fails gracefully if you don’t supply a command-line argument, and runs the desired command if you do supply it:
#!/bin/sh # NAME: scw # VERSION: 0.1 # PURPOSE: a script that works like a Unix alias # that requires a command-line argument filename="" if [ $1 ] then filename="$1" else echo "PURPOSE: Run 'scala-cli <filename> --watch'" echo "USAGE: scw <filename>" exit 1 fi scala-cli $filename --watch
I keep a bin directory in my home directory, and it’s in my PATH
, so I just drop this shell script in there and then I can use it like a Unix alias.
You can also use it as an example for any similar script you want to run, i.e., a simple shell script that handles a command-line argument.