[pso] [tema2][lin] test - problema cu grep

Catalin Moraru catalin.me at gmail.com
Sat Apr 3 16:54:21 EEST 2010


> De
> asemenea `> /dev/null 2>&1' si `&> /dev/null' sunt sintaxe
> echivalente. Vezi `man bash' pentru mai multe informatii.

Sa luam urmatorul program de test:

#include <stdio.h>
#include <stdlib.h>
int main(void){
	printf("ret1=%d\n",  system("cat /proc/ioports | grep \"Happy
Easter\" > /dev/null 2>&1"));
	printf("ret2=%d\n",  system("cat /proc/ioports | grep \"Happy
Easter\" &> /dev/null"));
	return 0;
}

Testez umatorul program pe masina virtuala actuala (Ubuntu 9.10):

root at spook:~/tema2/test# ./a.out
ret1=256
ret2=0


Acelasi program de test pe masina virtuala veche (Gentoo):

spook ~ # ./a.out
ret1=256
ret2=256

Cauza este faptul ca pe Ubuntu 9.10 /bin/sh e de fapt /bin/dash
in timp ce pe Gentoo /bin/sh este /bin/bash

/bin/dash interpreteaza & direct ca background cmd.
( nu o sa faca redirectarea dubla &> )

More info here:
http://princessleia.com/plug/2008-JP_bash_vs_dash.pdf


Numai bine,

Catalin


More information about the pso mailing list