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