#!/usr/bin/bash USR_DIR=${1:-"no_dir"} [[ $USR_DIR == "no_dir" ]] && \ echo "usage $0 usr_dir" && \ exit 1 USR_DIR=$(realpath $USR_DIR) #!/usr/bin/env bash set -euo pipefail src="${1:-/svr/usr}" dst="${2:-/}" src="$(readlink -f "$src")" find "$src" -type f | while IFS= read -r f; do rel="${f#$src/}" target="$dst$rel" # ensure parent dir exists (but never replace dirs) mkdir -p "$(dirname "$target")" # if target exists and is a directory → skip if [ -d "$target" ]; then continue fi # replace file or create new symlink ln -sf "$f" "$target" done useradd svr chown -R root:svr /svr