当前位置: 技术问答>linux和unix
求助:shell中小括号的作问题
来源: 互联网 发布时间:2016-10-13
本文导语: 本帖最后由 Pumas 于 2010-11-03 14:57:25 编辑 源代码奉上。 为什么id=$(getID ${apachePath} )可以取到进程ID 5047, 而id=$(getID ${apachePath} ) 什么都获得不到呢? #! /bin/sh function getID(){ if [ $# != 0 ];then ...
为什么id=$(getID ${apachePath} )可以取到进程ID 5047,
而id=$(getID ${apachePath} ) 什么都获得不到呢?
#! /bin/sh
function getID(){
if [ $# != 0 ];then
apachePath=$1;
else
apachePath="app_3";
fi
ps -aux |grep java |grep ${apachePath} |sed -n 's/^[^0-9]{1,}([0-9]{4,})[^]*/1/p';
return 1;
}
function shutdownApache(){
if [ $# != 0 ];then
apachePath=$1;
else
apachePath="app_3";
fi
id=$(getID ${apachePath} );
#id=$(getID ${apachePath} );
echo "The process ID is ${id}";
if [ $id != "" ]; then
echo true; #kill -9 ${id};
a=$[5047 + 1];
b=$[${id} + 1];
echo $a $b;
fi
}
shutdownApache "app_3"
|
$(cmd)
与cmd的返回值没有关系,只是获取cmd的标准输出,如$(ls)获取文件列表
与cmd的返回值没有关系,只是获取cmd的标准输出,如$(ls)获取文件列表
|
+ 1
|
看来是我5楼回复里的结果二字误导了楼主 我那个结果不是指命令运行的成功还是失败.
而是你把语句执行后眼睛能看到的标准输出
而是你把语句执行后眼睛能看到的标准输出