Portál AbcLinuxu, 10. května 2025 01:59
$?
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.