Мне нужно записать выполнение некоторой команды в файле bash и игнорировать входы.Нужно перенаправить вывод на/dev/null .... отлично работает в командной строке, но не в оболочке
Пример
pvs --noheadings -o pv_name,vg_name,vg_size 2> /dev/null
Эта команда отлично работает в командной строке, но когда я пишу то же самое в оболочке, он дает мне ошибку
как
Failed to read physical volume "2>"
Failed to read physical volume "/dev/null"
Я предполагаю, что это выглядит как часть всей команды. Не могли бы вы дать мне несколько советов о том, как исправить это?
Заранее спасибо.
FULLCODE
# ------------------------------
main() {
pv_cmd='pvs'
nh='--noheadings'
sp=' '
op='-o'
vgn='vg_name'
pvn='pv_name'
pvz='pv_size'
cm=','
tonull=' 2 > /dev/null '
pipe='|'
#cmd=$pv_cmd$sp$nh$sp$op$sp$vgn$cm$pvn$cm$pvz$sp$pipe$tonull #line A
cmd='pvs --noheadings -o vg_name,pv_name,pv_size 2> /dev/null' #line B
echo -n "Cmd="
echo $cmd
$cmd
}
основная информация
# ------------------------------------------ -----------
Если вы посмотрите на линию A & B bot ч версии есть, хотя один закомментирована .....
какая у вас раковина? это, вероятно, не bash ... –
Под «в оболочке», вы имеете в виду в файле сценария? Если да, пожалуйста, укажите * точную копию соответствующей части вашего скрипта. – chepner
его файл bash .... да ... filename is main.sh и shabang is!/Bin/bash – howtechstuffworks