Portál AbcLinuxu, 9. listopadu 2025 05:02
$? vraci navratovy kod predchoziho prikazu, ne jeho vystup na stdout. Pokud chces do promenne $test vlozit vystup z ip rule show, pouzij
test=$( ip rule show )
[[ -z "$(ip rule show 2>&1)" ]] && echo "Prikaz nevratil text..."
if [ "x`ip rule show`" = x ]; then echo "prazdny retazec"; fi
#!/usr/bin/python
# -*- coding:utf-8 -*-
import subprocess
def run(cmd):
pr = subprocess.Popen(cmd, stdout = subprocess.PIPE)
cmd_flat = ' '.join(cmd)
pid = pr.pid
output = pr.stdout.read()
print 'Výstup příkazu "%s" (pid %d):' %(cmd_flat, pid)
if not output:
print 'Zhola žádný.'
else:
print output
print 'Návratová hodnota: ', pr.wait()
run(['/sbin/ip', 'rule', 'show'])
run(['false'])
run(['true'])
if ip rule show | grep -q hledany_text ; then neco ; else neco_jineho ; fi
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.