Я пытаюсь написать своего рода сценарий меню, который после выполнения приведёт к следующему:
- Спросите, каким пользователем / паролем вы выполняете сценарий как.
- Задайте вопрос ip удаленного сервера, на который вы хотите отправить файлы scp.
- Спросите каталог, в котором файлы хранятся локально.
- Спросите каталог, куда должны быть переданы все файлы.
- Скопируйте все файлы.
Первое препятствие, которое у меня есть, это получение пароля, хранящегося в виде переменной в меню. Я думаю, что sshpass будет хорош для этого. Я хотел бы настроить меню следующим образом:
title="Select example"
prompt="Pick an option:"
options=("A" "B" "C")
echo "$title"
PS3="$prompt "
select opt in "${options[@]}" "Quit"; do
case "$REPLY" in
1 ) echo "You picked $opt which is option $REPLY";;
2 ) echo "You picked $opt which is option $REPLY";;
3 ) echo "You picked $opt which is option $REPLY";;
$(( ${#options[@]}+1 )) ) echo "Goodbye!"; break;;
*) echo "Invalid option. Try another one.";continue;;
esac
done
Но меню будет запрашивать у вас имя пользователя, локальный каталог файлов, ip удаленного сервера, каталог удаленного сервера и затем запускать созданную им команду scp.
Примерно так:
password="your password"
username="username"
Ip="<IP>"
sshpass -p "$password" scp /<PATH>/final.txt $username@$Ip:/root/<PATH>
Но я немного озадачен тем, как собрать все это вместе, чтобы меню собирало необходимую информацию и затем выполняло собранную вход, так что он просто создает команду scp для запуска.
Может кто-нибудь предложить какой-либо опыт с этим, чтобы помочь мне в создании сценария меню?
Спасибо!