From 6d18c17400566db27f6b82c24a3e2985602b9e9a Mon Sep 17 00:00:00 2001 From: Nick Chambers Date: Sun, 25 Jul 2021 21:24:33 -0500 Subject: [PATCH] bash/every-chmod: generate every combination of rwx for chmod --- bash/every-chmod | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 bash/every-chmod diff --git a/bash/every-chmod b/bash/every-chmod new file mode 100755 index 0000000..86df657 --- /dev/null +++ b/bash/every-chmod @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +perms=(___ __x _w_ _wx r__ r_x rw_ rwx) + +perms() { + local perm perm_str + + for perm do + perm_str=$perm_str${perms[$perm]} + done + + printf %s "$perm_str" +} + +for owner in {0..7}; do + for group in {0..7}; do + for universe in {0..7}; do + printf 'chmod_%s() {\n' "$(perms "$owner" "$group" "$universe")" + printf ' chmod %d%d%d "$@"\n' "$owner" "$group" "$universe" + printf '}\n' + printf '\n' + done + done +done