我创建了一个bash脚本来将git分支推送到远程(本地服务器)。 bash脚本可以完美运行,但是我必须提供3个主要操作的密码。
#!/bin/bash
for ARGUMENT in "$@"
do
KEY=$(echo $ARGUMENT | cut -f1 -d=)
VALUE=$(echo $ARGUMENT | cut -f2 -d=)
case "$KEY" in
API) API=${VALUE} ;;
SERVICE) SERVICE=${VALUE} ;;
MIGRATION) MIGRATION=${VALUE} ;;
*)
esac
done
if [ -z "$API" ]
then
API=$(cd /var/www/html/folder1 && git describe --contains --all HEAD)
# TERMINAL PROMPTS FOR PASSWORD FOR PUSH
cd /var/www/html/folder1 && git push local $API
fi
if [ -z "$SERVICE" ]
then
SERVICE=$(cd /var/www/html/folder2 && git describe --contains --all HEAD)
# TERMINAL PROMPTS FOR PASSWORD FOR PUSH
cd /var/www/html/folder2 && git push local $SERVICE
fi
# TERMINAL PROMPTS FOR PASSWORD FOR PUSH
ssh user@192.168.0.247 <<-ENDSSH
cd /home/user/clear/folder1
echo "Changing branch to: $API"
git checkout $API
#sbt publishLocal
cd /home/user/clear/folder2
echo "Changing branch to: $SERVICE"
git checkout $SERVICE
#sbt "runMain project"
ENDSSH
当前,我需要输入密码:
git push local $API
git push local $SERVICE
ssh user@192.168.0.247
有什么办法可以一次传递密码并完成所有操作。
在这里
local
-存储库是具有IP 192.168.0.247
的同一服务器