在家目录创建 its.sh
#!/usr/bin/env bash
set -euo pipefail
URL="https://its4.pku.edu.cn/cas/ITSClient"
IPRANGE="free"
echo "========== ITS CLI =========="
while true; do
echo "Choose an action:"
echo " 1) Connect"
echo " 2) Disconnect"
read -r -p "Enter 1 or 2: " choice
case "$choice" in
1)
CMD="open"
break
;;
2)
CMD="disconnect"
break
;;
*)
echo "Invalid input. Please try again."
;;
esac
done
while true; do
read -r -p "Enter student/staff ID: " USERNAME
if -n "${USERNAME// }" ; then
break
fi
echo "ID cannot be empty."
done
while true; do
read -r -s -p "Enter password: " PASSWORD
echo
if -n "$PASSWORD" ; then
break
fi
echo "Password cannot be empty."
done
echo
echo "Sending request..."
RESPONSE=$(
curl -sS --connect-timeout 10 --max-time 20 --config - <<EOF
url = "$URL"
request = "POST"
header = "Content-Type: application/x-www-form-urlencoded"
data-urlencode = "cmd=$CMD"
data-urlencode = "username=$USERNAME"
data-urlencode = "password=$PASSWORD"
data-urlencode = "iprange=$IPRANGE"
EOF
) || {
echo "Request failed: network error or server unreachable."
exit 1
}
echo "Server response:"
echo "$RESPONSE"之后加入到环境变量中(下面是 bash 版本的示例,如果是 zsh 类似)
mv its.sh its
chmod +x its
mkdir -p ~/bin
mv its ~/bin/
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
which its