Hi, I have written a script file that first makes a ssh connection with the remote system and then does some job. My script file is as follows #! /bin/sh ssh 172.16.1.2 <<EOF sa=`/usr/sbin/alternatives --config java </root/Desktop/1.txt 2>&1 | grep jdk1.6.0_05` echo $sa sa2=`echo $sa | sed -e 's/[^0-9]//g'` sa3=`echo $sa2 | head -c 1 >/root/Desktop/2.txt` echo @sa3 echo "end" EOF The ssh connection is formed successfully. But sa is not printing anything. just a blank line similarly sa3. But end is being printed. Both text files (1.txt and 2.txt)resides in the remote system. I know the problem is with this line sa=`/usr/sbin/alternatives --config java </root/Desktop/1.txt 2>&1 | grep jdk1.6.0_05` The command is not taking input from 1.txt which is residing on the remote system. Where am i going wrong.