ebug
请教一个子shell传递变量给父shell的问题
rpm_uninstall () {
{ { rpm -qa|grep -i cyrus-sasl-sql; } && { rpm -qa|grep -i mysql; } } | while read line
do
if [ -n $line ]; then
rpms="$rpms $line"
else
echo "no rpm"
fi
done
rpm -e $rpms
}
您好:
我希望找出系统中“cyrus-sasl-sql”和“mysql”有关的包 然后卸载掉,发现waker说的子shell不能传递变量给父shell的问题,这个有什么好的办法解决呢?请指教,谢谢 [email]youngerliu@hotmail.com[/email]
ebug
[quote]原帖由 [i]jinl[/i] 于 2008-7-1 23:11 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8714893&ptid=1186064][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
为什么要用子shell,直接传递不行么?
rpm -qa|grep -i "cyrus-sasl-sql|mysql"|while read line [/quote]
这个函数的公呢个是卸载相应的rpm包。
我的意思是,在do循环完成后确实把得到的rpm包赋值给了变量rpms,但是跳出循环后echo $rpms确是空的