Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

This doesn't work, the comment doesn't contain the IP_ADDR string

SSH_UN='user'
IP_ADDR='192.168.1.101'

cat <<"EOF" >> .ssh/config
# VirtualBox (VB) on user's laptop at $IP_ADDR
Host laptopvb
  Hostname $IP_ADDR
  User $SSH_UN
  ForwardAgent yes
EOF
share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

Remove the double quotes around the EOF:

IP_ADDR='192.168.1.101'
cat <<EOF >> .ssh/config
# VirtualBox (VB) on hobs laptop at $IP_ADDR
Host laptopvb # manually set as a static IP on the VB
  Hostname $IP_ADDR
  User $SSH_UN
  ForwardAgent yes
EOF

According to the bash manual:

The format of here-documents is:

       <<[-]word
               here-document
       delimiter

No parameter expansion, command substitution, arithmetic expansion, 
or pathname expansion is performed on word. If any characters in word are quoted, 
the delimiter is the result of quote removal on word, and the lines in the
here-document are not expanded. If word is unquoted, all lines of the
here-document are subjected to parameter expansion, command substitution,
and arithmetic expansion.  
share|improve this answer
    
I could've sworn I tried that. Obviously not, 'cause it works. Thx. –  hobs Sep 7 '12 at 17:41
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.