Всем привет!
Буду благодарен если кто подскажет или поможет разобраться....Пишу скрипт на bash, который по замыслу должен искать в определенном файле определенную строку и если таковая строка есть в этом файле то - выводить путь к этому файлу, в переменную или на экран не важно.
Вот кусок скрипта:
VMNAME="$1"
VMNAME=`echo "displayName = \"${VMNAME}\""`
echo $VMNAME
echo ""
VMNAME2=`echo "'${VMNAME}'"`
echo $VMNAME2
#Пример того, что передается grep - 'displayName = "xmachine"'
F=`find /m* -name '*.vmx' -print0 | xargs --null grep -l "$VMNAME2"`
echo ""
echo $F
Когда запускаю скрипт - он выдает только значения переменных (поставленных для контроля) и grep видимо не понимает что от него хотят:
# ./x xmachine
displayName = "xmachine"
'displayName = "xmachine"'
И все, больше ничего.
В ручную когда запускаю, все работает:
#find /m* -name '*.vmx' -print0 | xargs --null grep -l -i 'displayName = "xmachine"'
/m/x-machine/SUSE Linux.vmx
В чем тут может быть дело??