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.