I would like to keep my
.bash_login files in version control so that I can use them between all the computers I use. The problem is I have some OS specific aliases so I was looking for a way to determine if the script is running on Mac OS X, Linux or Cygwin.
What is the proper way to detect the operating system in a Bash script?
Good Answer: 👌👌👌
For my .bashrc, I use the following code:
platform='unknown' unamestr=`uname` if [[ "$unamestr" == 'Linux' ]]; then platform='linux' elif [[ "$unamestr" == 'FreeBSD' ]]; then platform='freebsd' fi
Then I do somethings like:
if [[ $platform == 'linux' ]]; then alias ls='ls --color=auto' elif [[ $platform == 'freebsd' ]]; then alias ls='ls -G' fi
It’s ugly, but it works. You may use
case instead of
if if you prefer.
Read More: 👉 https://stackoverflow.com/questions/394230/detect-the-os-from-a-bash-script