я пытаюсь выполнить команду, которая имеет двойные кавычки внутри него:двойные кавычки внутри двойных кавычек в сценарии оболочки
insdizi=`ps -ef| grep -v grep | grep asm_pmon_ | awk ' {print $2}'`
proddizi=`ps -ef | grep asm_smon_ | grep -v grep | cut -d"_" -f3`
insname=()
homename=()
sid=()
for i in $insdizi; do
insname+=("$i")
a=`ls -l /proc/${insname[ii]}/cwd | awk '{print ($NF) }' |sed 's#/dbs##'`
olsnodes="${a}/bin/olsnodes"
homename+=("$olsnodes")
ii=`expr $ii + 1`
done
ii=`expr $ii - 1`
for i in `seq 0 $ii`; do
nodeNum= "${olsnodes}"
nodeNumm= `bash -c "${nodeSayi} |grep -c '""'"`
echo $nodeNumm
echo "nodeNumm= $nodeNumm"
for node in `bash -c "${homename[i]}"`; do
echo $node
cokluBellekKontrol $node
cokluSessionSayi $node
done
сделано
olsnodes
переменными является командой, которая запускается из каталога, как:
/app/oracle/grid/bin/olsnodes
Вот что мне нужно запустить:
/app/oracle/grid/bin/olsnodes | grep -c ""
Я попытался это:
nodeNumm= `bash -c "${nodeNum} |grep -c '""'"`
Но он дал мне ошибку:
"0: command not found."
EDIT
выход olsnodes является:
ax1
ax2
ax3
ax4
Кроме того, я могу grep количество строк w с этой командой:
/u01/app/11.2.0.4/grid/bin/olsnodes |grep -c ""
Что такое вывод olsnodes, из которого вы хотите grep? –
Отметьте мое редактирование .. – AloneInTheDark
Я не вижу никаких '' 'в этом выпуске. Что вы хотите grep из этих строк? –