cards/717045272617--file-permissions/assets/raw.sh
#!/bin/bash
E=$'\e[38;5;46m';R=$'\e[0m';w(){[[ $1 ]]&&echo "$1"|fold -sw60;};b(){a=("$@");printf "${E}+";printf -- '-%.0s'{1..60};printf "+${R}\n";for l in "${a[@]}";do w "$l"|while IFS= read -r x;do printf "${E}|${R} %-58s ${E}|${R}\n" "$x";done;done;printf "${E}+";printf -- '-%.0s'{1..60};printf "+${R}\n";};p(){read -n1 -s -r -p "SCAN TO CONTINUE...";};sf(){clear;b "SELECT TARGET FILE FOR PERMISSION CONTROL";mapfile -t f < <(find . -maxdepth 1 -type f);for i in "${!f[@]}";do printf "${E}|${R} %2s - %-53s ${E}|${R}\n" "$((i+1))" "${f[i]}";done;printf "${E}+";printf -- '-%.0s'{1..60};printf "+${R}\n";read -p "SCAN FILE #: " i;T="${f[i-1]}";};ss(){clear;[ "$T" ]&&b "FILE STATUS: $T" "Permissions, Ownership, Size, Last Modified" "Use MODIFY to simulate real admin file handling scenarios." "$(stat -c '%A %U %G %s bytes %y' "$T")";p;};mm(){while :;do clear;b "MODIFY MODULE: PERMISSION CODES FOR $T" "chmod = change file mode bits | chown = change owner" "" "A = Add Execute for Owner (chmod u+x)" "