I have a file called cmd that contains a list of unix commands as follows:
hostname pwd ls /tmp cat /etc/hostname ls -la ps -ef | grep java cat cmd
I have another script that executes commands in cmd like:
IFS=$'\n' clear for cmds in `cat cmd` do if [ $cmds ] ; then $cmds; echo "****************************"; fi done
The problem is that commands in cmd without spaces work fine, but those with spaces do not correctly interpret the script. The following is the conclusion:
patrick-laptop **************************** /home/patrick/bashFiles **************************** ./prog.sh: line 6: ls /tmp: No such file or directory **************************** ./prog.sh: line 6: cat /etc/hostname: No such file or directory **************************** ./prog.sh: line 6: ls -la: command not found **************************** ./prog.sh: line 6: ps -ef | grep java: command not found **************************** ./prog.sh: line 6: cat cmd: command not found ****************************
What am I missing here?
bash shell
Epitaph
source share