12 Command Chaining - kumar159man/MyShellLearning GitHub Wiki
cmd1 ; cmd2 ; cmd3
Through semicolon we can execute multiple commands irrespective of command sucess/failure
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ pwd;ls;date /home/myubuntu/Desktop/shellScripts case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt Wednesday 08 July 2020 02:50:32 PM IST
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ pwd ; date ; dgthteh /home/myubuntu/Desktop/shellScripts Wednesday 08 July 2020 02:51:27 PM IST dgthteh: command not found
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ x=5;y=10;echo "Sum is $((x+y))" Sum is 15
cmd1 && cmd2 && cmd3
cmd3 will only execute when there is succesful execution of cmd1 and cmd2 commands
myubuntu@myubuntu-VirtualBox:~$ pwd && ls && date /home/myubuntu Desktop Documents Downloads get-docker.sh Music Pictures Public Templates Videos Wednesday 08 July 2020 03:05:08 PM IST
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -e first.sh ]] && echo "File Exists" && cat first.sh File Exists #!/usr/bin/bash echo "Hello this is my first shell script" dog="Chelsea"
myubuntu@myubuntu-VirtualBox:~$ date && pwe && ls -ltr Wednesday 08 July 2020 03:18:42 PM IST Command 'pwe' not found, did you mean: command 'wpe' from deb xwpe (1.5.30a-2.1build3) command 'xwe' from deb xwpe (1.5.30a-2.1build3) command 'pee' from deb moreutils (0.63-1) command 'we' from deb xwpe (1.5.30a-2.1build3) command 'pwd' from deb coreutils (8.30-3ubuntu2) Try: sudo apt install <deb name>
cmd1 || cmd2
cmd2 will only execute when cmd1 will fail
myubuntu@myubuntu-VirtualBox:~$ djsf || date djsf: command not found Wednesday 08 July 2020 03:27:03 PM IST
myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -e first.sh ]] && echo "File is present" || touch first.sh File is present myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ^C myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ [[ -e first1.sh ]] && echo "File is present" || touch first1.sh myubuntu@myubuntu-VirtualBox:~/Desktop/shellScripts$ ls case1.sh case.sh cmdArg.sh cut.txt first1.sh first.sh grepUsage.txt regex.txt search.txt second.sh third.sh variables.txt
#!/usr/bin/bash
[[ -e /home/myubuntu/Desktop/myShellScriptBackup ]] || mkdir /home/myubuntu/Desktop/myShellScriptBackup
tar -cvf /home/myubuntu/Desktop/myShellScriptBackup/shellScriptBackup_$(date +%d-%b-%y-%H:%M:%S).tar.gz /home/myubuntu/Desktop/shellScripts/