Notepad/enter/Coding Tips (Classical)/Terminal Tips/1. Terminals/Shells/Bash.md

2.0 KiB

Bash

Bash is a classic and should always be understood. After all, it was the first shell that you used so there's a bit of nostalgia surrounding it.

  • touch creates the file named zk_sync and chmod +x makes the file an executable file, but we still need to say what shell will execute this file, and what exactly are the commands to be executed.
  • bash command for Big Sur if you ever decide to upgrade
  • the oh-my-zsh version of bash is now regularly maintained through a git repo called Bash-It
  • check the file size of something in your directory by wc -c /Users/shwethajayaraj/qisket/file
    • you can further turn it into a bash variable by doing:
    •      printf "%d\n" $myfilesize
           echo "$myfilesize"```
      
      
      
      

Shell Scripting Tips:

  • Safe shell scripting practices --> Make sure to use " " !
    • example : cat /Applications/Android Studio.app/Contents will give you an error
    • but cat "/Applications/Android Studio.app/Contents" will work!
  • Export paths as an Env variable
    • example: export AS_HOME="/Applications/Android Studio.app/Contents"
  • Dealing with Path with Spaces in it:
    • use either back slashes or quotation marks not both
    • example:
export PATH=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH

or

export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"

Not both. Try out the script and see if the file or directory not found error comes up.


More Tips:

You can just use exec to replace your current shell with a new shell:

Switch to bash:

exec bash

Switch to zsh:

exec zsh

This won't affect new terminal windows or anything, but it's convenient.