Live Online Workshop for ULSA and HSRW by Harley Lara - 2022-10-06
Workshop details:
Download all the files here: example_files.zip
bash-hello.sh
: Print message in the terminaltmux-fzf.sh
: fuzzy search over a group of specified directoriesbash-software.sh
: Basic bash script to install a set of packagesansible-software.yml
: Basic playbook to install a set of packagesbash-software-tags
: Minimal and basic tag implementation to emulate ansible tags using bash script#!/bin/bash echo "hello bash scripting"
#!/bin/bash # Used the next line to set the list of directories DIRECTORIES="~/ ~/Documents ~/Desktop" # Uncommend the next line if you are using a external file # for track the list of directories # DIRECTORIES=$(cat ~/EXTERNAL-FILE | tr "\n" " ") # Note about the external file # Format of the file: # ~/ # ~/Documents # ~/Desktop # One directory per line if [[ $# -eq 1 ]]; then SELECTED=$1 && [[ "$SELECTED" == '.' ]] && SELECTED="$PWD" else SELECTED=$(find $DIRECTORIES -mindepth 1 -maxdepth 1 -type d | fzf) fi if [[ -z $SELECTED ]]; then exit 0 fi SELECTED_NAME=$(basename "$SELECTED" | tr . _) SELECTED_NAME=${SELECTED_NAME:0:8} if [[ -n $TMUX ]]; then # inside tmux tmux switch-client -t "$SELECTED_NAME" || \ tmux new-session -ds "$SELECTED_NAME" -c "$SELECTED" && \ tmux switch-client -t "$SELECTED_NAME" elif [[ -z $TMUX ]]; then # outside tmux tmux new-session -s "$SELECTED_NAME" -c "$SELECTED" || \ tmux attach -t "$SELECTED_NAME" fi
#!/bin/bash sudo apt update && \ apt-get install -y \ build-essential \ cmake \ pkg-config \ libpthread-stubs0-dev sudo apt install -y \ curl \ htop \ python3-pip
Encryption:
$> ansible-vault encrypt FILE_NAME
Decryption:
$> ansible-vault decrypt FILE_NAME
Note 1: if the platform is not specified as Windows, Linux or MacOS, consider the software mentioned as Cross-platform (available on all).
Note 2: Linux and MacOS are Unix-based operating systems