Shell script diff command throwing error : syntax error near unexpected token `('

208 views Asked by At

Command 1:

[root@vmc-centos network-scripts]# ls -ltr | grep -oh "\w*ifcfg-ens3\w*" | grep -oh "\w*ens3\w*" | sort --unique
ens32
ens33
ens34 

Command 2:

[root@vmc-centos network-scripts]# ip link show | grep -oh "\w*ens3\w*"
ens32
ens33

Command 3: Nothing but (diff <(Command 1) <(Command 2) | sed -n 2p) \ [root@vmc-centos network-scripts]# diff <(ls -ltr | grep -oh "\w*ifcfg-ens3\w*" | grep -oh "\w*ens3\w*" | sort --unique) <(ip link show | grep -oh "\w*ens3\w*") | sed -n 2p ens34

Copied above command: 3 in a shell script (rundiffer.sh) and execute it:

[root@vmc-centos tmp]# vi rundiffer.sh
   cd /etc/sysconfig/network-scripts/
   result=$(diff <(ls -ltr | grep -oh "\w*ifcfg-ens3\w*" | grep -oh "\w*ens3\w*" | sort -- 
   unique) <(ip link show | grep -oh "\w*ens3\w*") | sed -n 2p)
   echo $result 

[root@vmc-centos tmp]# sh rundiffer.sh

Error :

rundiffer.sh: command substitution: line 3: syntax error near unexpected token `('
rundiffer.sh: command substitution: line 3: `diff <(ls -ltr | grep -oh "\w*ifcfg-ens3\w*" | grep -oh "\w*ens3\w*" | sort --unique) <(ip link show | grep -oh "\w*ens3\w*") | sed -n 2p)' 

Anyone got similar error, got a fix for the same ?

0

There are 0 answers