fix_perms.sh #2

  • //
  • p4-hms/
  • dev/
  • p4/
  • common/
  • site/
  • hms/
  • HostCM/
  • fix_perms.sh
  • View
  • Commits
  • Open Download .zip Download (973 B)
#!/bin/bash
set -u

declare Line=
declare Perms=
declare Ownership=
declare File=
declare Cmd=
declare -i ErrorCount=0
declare ThisScript=${0##*/}
declare Version=1.0.3

function msg () { echo -e "$*"; }
function errmsg () { msg "\nError: ${1:-Unknown Error}\n"; ErrorCount+=1; }
function bail () { errmsg "${1:-Unknown Error}"; exit "${2:-1}"; }

msg "Started $ThisScript v$Version as $(id -n -u)@${HOSTNAME%%.*} on $(date)."

while read -r Line; do
   [[ $Line =~ ^[0-9]{3}  ]] || continue
   Perms="${Line%% *}"
   File="${Line##* }"
   Ownership=${Line% *}
   Ownership=${Ownership#* }

   Cmd="chmod $Perms $File"
   msg "Running: $Cmd"
   $Cmd || errmsg "Error running: $Cmd"

   Cmd="chown $Ownership $File"
   msg "Running: $Cmd"
   $Cmd || errmsg "Error running: $Cmd"
done < /root/HostCM/fix_perms.dat

if [[ "$ErrorCount" -eq 0 ]]; then
   msg "\nPermissions updated."
else
   errmsg "$ErrorCount errors encountered updating permissions."
fi

exit "$ErrorCount"
# Change User Description Committed
#2 33529 C. Thomas Tyler Cosmetic: normalize double-backslash \\n / \\t to single-backslash \n / \t

An older version of ShellCheck once recommended escaping backslash-n and
backslash-t as \\n / \\t in double-quoted strings; a later version reversed
that guidance since it was unnecessary. Both forms behave identically at
runtime, but the double-backslash form is visual clutter. Applied via
tools/sed_fixer.sh across the tree; no functional change.
#1 33516 C. Thomas Tyler Consistency pass: fix absolute URLs, p4ms->hms renames, script/doc typos and bugs

- Convert absolute workshop.perforce.com URLs to relative paths in dlp/ReadMe.md
- Fix case-mismatch link to HMS_Product_Roadmap.md in README.md
- Rename reset_p4ms.sh -> reset_hms.sh and p4broker_p4ms_test -> p4broker_hms_test
- Fix .sh-suffix bugs: bin/hms calling global_replica_status.sh (should be no ext),
  and matching SEE ALSO / doc references for sdp_sync and global_replica_status
- Add missing scripts (gtu, hrun, irun, global_replica_status) to gen_script_man_pages.sh
- Add stub scripts: nj_help.sh, broker_njob.pl, broker_mkproj.pl, broker_jr.pl
- Remove dangling absolute symlinks HostCM/p4 and HostCM/p4d (cruft)
- Rename test/b -> test/broker_ctl.sh for clarity
- Fix real bugs: broker_imply-u.pl broken regex match, gen_dlp_broker_cfg.sh and
  gen_nj_broker_cfg.sh copy-pasted Version-file existence check, garbled comment
  in broker_must_be_owner.pl, unclosed quote in tools/gsr.sh usage(), missing 'h'
  in HMS_SystemComponents.md broker command example (^ms$ -> ^hms$)
- Fix broken sed command and incomplete sentence in HMS_Install_Notes.md and
  SDP_and_HMS_Update_Process.md
- Fix broken markdown table in HMS_Product_Roadmap.md
- Fix unclosed parenthesis, missing verb, and FKA Swarm mislabel in
  HMSDeploymentPlanning.adoc
- Standardize //streams/main/... naming in HostCM/ReadMe.md
- Numerous typo fixes across README.md, HMS_SystemComponents.md,
  SDP_and_HMS_Update_Process.md, HMS_TightShipManagement.adoc,
  HMSDeploymentPlanning.adoc, HostCM/ReadMe.md, and various scripts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>