#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd) SOURCE_SCRIPT="${SCRIPT_DIR}/iptables-forward.sh" TARGET_BIN=${INSTALL_TARGET:-/usr/local/bin/iptables-forward} usage() { cat <&2 exit 2 fi } install_link() { [[ -f ${SOURCE_SCRIPT} ]] || { printf '未找到入口脚本: %s\n' "${SOURCE_SCRIPT}" >&2 exit 1 } mkdir -p "$(dirname -- "${TARGET_BIN}")" ln -sfn "${SOURCE_SCRIPT}" "${TARGET_BIN}" chmod 755 "${SOURCE_SCRIPT}" printf '已创建链接: %s -> %s\n' "${TARGET_BIN}" "${SOURCE_SCRIPT}" } uninstall_link() { if [[ -L ${TARGET_BIN} || -e ${TARGET_BIN} ]]; then rm -f "${TARGET_BIN}" printf '已删除链接: %s\n' "${TARGET_BIN}" else printf '未发现已安装链接: %s\n' "${TARGET_BIN}" fi } main() { case ${1:-install} in --help|-h) usage ;; install) require_root install_link ;; --uninstall|uninstall) require_root uninstall_link ;; *) usage >&2 exit 1 ;; esac } main "$@"