diff --git a/vmcreate1.sh b/vmcreate1.sh index 6b1082f..ab9e670 100644 --- a/vmcreate1.sh +++ b/vmcreate1.sh @@ -18,14 +18,14 @@ while getopts "a:f:h" opt; do a) harule="$OPTARG"; ;; f) file="$OPTARG" ;; h) show_help ; exit 0;; - k) keyfile="$OPTARG";; + k) pubkey="$OPTARG";; # *) noopts=true esac done # Если файл не задан, но флаг есть if [[ $# -eq 0 && -v $file && ! -f $file ]]; then - local input=y + input=y echo "File $file does not exist. Use default 'hosts' file? Y/n: " read input case $input in @@ -59,7 +59,7 @@ if [ $# -ne 0 ] then done fi -function ip_check() { +ip_check() { # Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом local ip=$1 local stat=1 @@ -79,17 +79,21 @@ function ip_check() { } #Проверяем ключ -if [ -v keyfile ]; then - if [[ ! -f keyfile ]]; then - echo "Private key does not exist. Generate new pair? Y/n" +if [ -v privkey ]; then + if [[ ! -f privkey ]]; then + input=y + echo "Private key does not exist. Generate new pair? y/n" read input case $input in y) keypair_generate;; Y) keypair_generate;; *) echo "Use '-f' flag for help"; exit 0;; esac + else keypair_generate + fi + else + privkey="key.pub" - keypair_generate (){ #указать в конце функции переменную для вывода названия приватного ключа