BASH #015 ~ ZSH by wglenz

View this thread on steempeak.com
· @wglenz · (edited)
$0.09
BASH #015 ~ ZSH
<center><h3>BASH</h3><a href="https://steempeak.com/@wglenz">Published with SteemPeak</a></center>

<center><h6> $ ./configure<br>$ make<br># make install</h6></center>


<center>![Screenshot](https://files.steempeak.com/file/steempeak/wglenz/Ran2YYUX-Screenshot20from202019-05-242013-59-26.png)Screenshot by Willi Glenz</center>


<center><h4>SUMMARY</h4></center>

```
001 BASH .............................................................. v1 19-05
011 bash-guide-for-beginners .......................................... v1 19-06
012 advanced-bash-scripting-guide ..................................... v1 19-06
010 aliases ........................................................... v2 19-06
009 job-control ....................................................... v1 19-06
005 environment ....................................................... v1 19-05
002 script-editor ..................................................... v3 19-05
006 tools ............................................................. v1 19-05
007 tests ............................................................. v1 19-05
004 while-loop ........................................................ v1 19-05
013 bash-to-fish|zsh .................................................. v1 19-06
014 one-liner & cowsay ................................................ v1 19-06
015 zsh ............................................................... v1 19-06 new

003 ~/.bashrc ......................................................... v4 19-06
008 ~/.bash_history ................................................... v1 19-06
010 ~/.bash_aliases ................................................... v2 19-06
```

<br>
<center><h4>#015</h4></center>

```
015 ZSH 
```
```
$ apt install zsh

OH-MY-ZSH
• github.com/robbyrussell/oh-my-zsh
$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
$ uninstall_oh_my_zsh
```
```
• MAN-Pages	: $ man zsh
• FAQ		: zsh.sourceforge.net/FAQ/
```

<br>
```
014 ONE-LINER & COWSAY
```
```
INSTALLATION

  $ cp ~/.bashrc ~/.bashrc_old
  $ echo 'clear' >> ~/.bashrc
  $ echo 'echo' >> ~/.bashrc
  $ echo 'neofetch' >> ~/.bashrc
  $ echo 'cowsay -W 80 -f moose $(cat ~/bin/oneliner.txt | shuf -n1)' >> ~/.bashrc
  $ echo 'echo'
  $ . ~/.bashrc

ONE-LINER-TEXTFILE

  $ vim ~/bin/oneliner.txt

  # bash -c "sync; echo 3 > /proc/sys/vm/drop_caches"
  # find / -uid 1000 -exec chown -v 1002:1002 {} \;
  # find / -user userxyz -type f -exec rm -f {} \;
  # find /home -user userxyz -mtime -3
  # find /home -user userxyz -size +1G
  # mkdir -p /mnt/ram; mount -t tmpfs tmpfs /mnt/ram -o size=8192M
  $ alias ea='vim ~/.bash_aliases && source ~/.bash_aliases'
  $ cat /etc/passwd | cut -d: -f7 | sort | uniq -c | sort -nr
  $ cat /etc/shells
  $ curl cheat.sh/:list | less
  $ curl wttr.in
  $ echo "It is now $(date +%T) on $(date +%A)"
  $ find -size +100M | less
  $ find -size +1G | less
  $ find . -name "*.jpg" -exec convert {} -scale 50% +repage {} \;
  $ find /etc -type f -print 2> /dev/null | less
  $ find /etc/*tab -type f -print
  $ find ~ -maxdepth 1 -type f -exec grep "^alias " '{}' \; -print
  $ find ~ -maxdepth 1 -type f -exec grep "^alias " '{}' \; -print
  $ find ~ -maxdepth 1 -type f -mtime 3
  $ mkdir -p Backups/{Sales,Development,HR}/{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}/{Sun,Mon,Tue,Wed,Thu,Fri,Sat}
  $ mkdir -p dummy/{1..100}/{1..100}
  $ mount | column -t
  $ mpg123 -zvC /home/user/music/*
  $ ranger ~/.local/share/Trash/
  $ scp -r folder/ user@a.b.c.d:~
  $ scp dummy.txt user@a.b.c.d:~
  $ sudo -H pip install --upgrade youtube-dl
  $ watch -d -n 5 ls -l
  $ watch free -h
  $ watch mail

  :%sort
  :wq
```

<br>
```
013 BASH-TO-FISH|ZSH
```
```
$ grep -i user /etc/passwd
$ echo $SHELL
$ cat /etc/shells
# apt install fish zsh
$ cat /etc/shells

• Option 1:	# vim /etc/passwd				
• Option 2:	$ chsh -s /usr/bin/fish			
• Option 3:	# usermod -s /bin/bash user		

$ chsh -s /usr/bin/fish
$ chsh -s /bin/fish

$ cat /etc/passwd | cut -d: -f7 | sort | uniq -c | sort -nr
```

<br>
```
012 ADVANCED-BASH-SCRIPTING-GUIDE
```
```
# apt search abs-guide
# apt show abs-guide
# apt install abs-guide
$ dpkg -L abs-guide
> file:///usr/share/doc/abs-guide/html/index.html
```
```
tldp.org/LDP/abs/html/
```

<br>
```
011 BASH-GUIDE-FOR-BEGINNERS
```
```
ldp.org/LDP/Bash-Beginners-Guide/html/index.html
```


<br>
```
010 ALIASES
```
```
$ alias
$ ls -l ~/.bash_aliases
$ cp ~/.bash_aliases ~/.bash_aliases_backup
$ alias > ~/.bash_aliases

$ vim ~/.bashrc
	if [ -f ~/.bash_aliases ]; then
		. ~/.bash_aliases
	fi
:wq

$ vim ~/.bash_aliases
   alias a='clear; echo; alias; echo'
   alias c='clear; neofetch; cowsay -W 131 -f moose $(cat ~/bin/oneliner.txt | shuf -n1); echo'
   alias cc='clear; ncal -wy'
   alias ea='vim ~/.bash_aliases && source ~/.bash_aliases'
   alias gl='clear; glances'
   alias gu='clear; guake &' 
   alias h='clear; echo; history 30; echo'
   alias i='intellij-idea-community &'
   alias l='clear; echo; lsd -l; echo'
   alias py='clear; python3'
   alias r='ranger'
   alias s='clear; curl rate.sx/steem@30d'
   alias sc='screen -S firstsession'
   alias ss='clear; curl rate.sx/steem@1d; gnome-screenshot -ac'
   alias ti='clear; tilda&' 
   alias tm='clear; timew month'
   alias tt='clear; task burndown.daily'
   alias ttt='clear; task calendar 2019'
   alias tw='timew'
   alias u='clear; sudo apt update && sudo apt upgrade && sudo apt dist-upgrade; sudo apt autoremove -yy'
   alias yt='sudo -H pip install --upgrade youtube-dl'
:wq
```

<br>
```
009 JOB-CONTROL
```
```
$ vim ~/.vimrc <ctrl+z>
$ vim ~/.bashrc <ctrl+z>
$ ranger <ctrl+z>
$ htop <ctrl+z>
$ glances &
$ jobs
$ fg 1

RUN A BACKGROUNd-JOB
$ sleep 10000 &
$ jobs -l
$ kill 12345

SOURCES
$ help jobs
$ help fg
$ help bg
```

<br>
```
008 HISTORY 
```
```
$ lsd -l | vim - -g ................................... vim
```

<br>
```
007 TESTS
```
```
STRINGS
$ [ StringA = StringB ];	echo $?
$ [ StringA != StringB ];	echo $?
$ [ -z String ];			echo $?
$ [ -n String ];			echo $?

NUMBERS
$ [ "$NUM" -eq 10 ];		echo $?
$ [ "$NUM" -neq 10 ];		echo $?
$ [ "$NUM" -gt 10 ];		echo $?
$ [ "$NUM" -ge 10 ];		echo $?
$ [ "$NUM" -lt 10 ];		echo $?
$ [ "$NUM" -le 10 ];		echo $?

$ [ -f fileName ];			echo $?
$ [ -d directory ];			echo $?
```
```
$ man test
```

<br>
```
006 TOOLS
```
```
$ shellcheck ~/bin/script.sh
```

<br>
```
005 ENVIRONMENT
```
```
$ printenv | awk '/PATH|HOME|USER|SHELL/ {print $0}'
```

<br>
```
004 WHILE-LOOP 
```
```
┊ #!/bin/bash
┊ # while-loop 
┊ # ~/bin/wl
┊ # wl set `date`
┊ 
┊ [ -z "$1" ] && exit 1
┊ 
┊ echo "Command   : $0"
┊ echo "Count Args: $#"
┊ 
┊ COUNTER=1
┊ while [ -n "$1" ]
┊ do
┊    echo "Argument ${COUNTER}: $1"
┊    shift
┊    COUNTER=`expr $COUNTER + 1`
┊ done
┊ 
┊ exit
```

<br>
```
003 BASHRC
```
```
$ mkdir ~/bin
$ cp ~/.bashrc ~/.bashrc_old

$ vim ~/.bashrc
  HISTCONTROL=ignoreboth:erasedups
  HISTSIZE=1000
  HISTFILESIZE=1000
  if [ -f ~/.bash_aliases ]; then
   	. ~/.bash_aliases
  fi
  set -o vi
  bind -m vi-insert "\C-l":clear-screen
  EDITOR=/usr/bin/vim
  VISUAL=$EDITOR
  export EDITOR VISUAL
  export PATH=$HOME/bin:$PATH
:wq
```

<br>
```
002 SCRIPT-EDITOR 
```
```
┊ #!/bin/bash
┊ # scripteditor
┊ # ~/bin/ed
┊ # ed scriptname.sh
┊ 
┊ [ -z "$1" ] && exit 1
┊ 
┊ DIR=~/bin/
┊ 
┊ vim "$DIR$1"
┊ chmod 744 "$DIR$1"
┊ clear; echo; lsd -l; echo
┊ 
┊ exit
```

<br>
```
001 BASH
```
```
SESSION

$ sudo !!
# apt-get update && apt-get upgrade && apt-get dist-upgrade; apt-get autoremove -yy
# init 0
# init 6
# shutdown -c
# shutdown -h 1:00
# shutdown -r now

SUDO

# visudo 
> Defaults:user timestamp_timeout=30
```
```
Homepage		: gnu.org/software/bash/
Documentation	: gnu.org/software/bash/manual/html_node/index.html
```

👍  , , , , , , , , , ,
properties (23)
post_id76,698,719
authorwglenz
permlinkbash-015-zsh
categorylinux
json_metadata{"app":"steempeak\/1.12.2","format":"markdown","tags":["linux","debian","arch","bash","opensource"],"users":["wglenz","a.b.c.d","30d","1d"],"links":["\/@wglenz"],"image":["https:\/\/files.steempeak.com\/file\/steempeak\/wglenz\/Ran2YYUX-Screenshot20from202019-05-242013-59-26.png"]}
created2019-06-20 05:08:27
last_update2019-06-20 19:12:03
depth0
children0
net_rshares157,799,807,269
last_payout2019-06-27 05:08:27
cashout_time1969-12-31 23:59:59
total_payout_value0.068 SBD
curator_payout_value0.020 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length7,759
author_reputation1,724,513,770,671
root_title"BASH #015 ~ ZSH"
beneficiaries
0.
accountsteemchiller
weight100
1.
accountsteempeak
weight100
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars0
author_curate_reward""
vote details (11)