Search code examples
bashshellcygwin

Too many arguments error while using shell script on cygwin


I am trying to run a script on cygwin prompt.

ssh-keygen -t rsa $email
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
mkdir -p /proj/env
ln -s /usr/bin/proj/env/bin

and running it as email="john.warnet" sh script1.sh.

But it is showing error as

  Too many arguments.
   usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1]
              [-N new_passphrase] [-C comment] [-f output_keyfile]
   ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
   ssh-keygen -i [-m key_format] [-f input_keyfile]
   ssh-keygen -e [-m key_format] [-f input_keyfile]
   ssh-keygen -y [-f input_keyfile]
   ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
   ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
   ssh-keygen -B [-f input_keyfile]
   ssh-keygen -D pkcs11
   ssh-keygen -F hostname [-f known_hosts_file] [-l]
   ssh-keygen -H [-f known_hosts_file]
   ssh-keygen -R hostname [-f known_hosts_file]
   ssh-keygen -r hostname [-f input_keyfile] [-g]
   ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
   ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
              [-j start_line] [-K checkpt] [-W generator]
   ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals]
              [-O option] [-V validity_interval] [-z serial_number] file ...
   ssh-keygen -L [-f input_keyfile]
   ssh-keygen -A
   ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
              file ...
   ssh-keygen -Q -f krl_file file ...
   Agent pid 1344
   Identity added: /home/HP/.ssh/id_rsa (/home/HP/.ssh/id_rsa)

I tried running the script by writing the command on prompt instead of copying.But couldnt find the solution.


Solution

  • You can run it like below in case you need to pass email address as an argument to ssh-keygen

    ssh-keygen -t rsa  -C $1