user@slave $ source ssh user@master "/service/dyn.master.setenv.sh --mode=slave"
echo "$var"
The var is not setting and I am getting various errors. How can I do a remote "source" of a bash script file (from master.example.com) and set a shell variable locally at slave.example.com?
You need to use eval or source command as follows to fix your problem:
source <(ssh user@server cat /path/to/varfile)
OR
eval $(ssh user@master cat /path/to/varfile)
Examples
Create a file called /tmp/foo on master server called master.example.com as follows:
JAIL=/lighttpd PHP=/opt/bin/php5-cgi MINIMAIL=/opt/bin/chroot-sendmail
Type the following command on server/workstation called slave.example.com (please note that [user@slave ~]$ is your prompt):
[user@slave ~]$ source <(ssh user@master.example.com cat /tmp/foo) [user@slave ~]$ echo "$JAIL $PHP $MINIMAIL"
OR
[user@slave ~]$ eval $(ssh user@master.example.com cat /tmp/foo) [user@slave ~]$ echo "$JAIL $PHP $MINIMAIL"
Sample session
Following sample session uses localhost computer as a master and slave. However, the concept remains same for master.example.com and slave.example.com Server.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop














{ 0 comments… add one now }