我刚看到一个带有签入的代码,如果是
for x in `ps -ef | awk '{ print $2 }'`
do
if [ "$x" != "PID" ];then
----- do something -----
fi
done
我可以知道为什么我们需要检查它是否以及它在做什么?
答案 0 :(得分:2)
添加该检查以跳过标题部分。您可以通过修改awk
语句来跳过第一行来删除整个if语句。要找出运行的标头ps -eaf |head -n 1
。
for x in $(ps -ef | awk 'NR>1{ print $2 }')
do
--------Do something with $x---------
done
答案 1 :(得分:1)
如果您运行ps -ef
,您会注意到它会打印标题:
UID PID PPID TTY STIME COMMAND
[...]
检查会跳过标题。
答案 2 :(得分:1)
String text = edt_email.getText().toString();
boolean digitsOnly = TextUtils.isDigitsOnly(text);
if (digitsOnly) {
if (text.length() == 0) {
Toast.makeText(getApplicationContext(), "field can't be empty.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "field is int value", Toast.LENGTH_LONG).show();
}
}else {
Toast.makeText(getApplicationContext(), "Field is string value", Toast.LENGTH_LONG).show();
}
}
输出'如下;第一行是PID,所以如果使用statetement则排除PID行;
ps -ef | awk '{ print $2 }'
你也可以不用if;
user@host:/tmp$ ps -ef | awk '{ print $2 }' | head
PID
1
2
3
5
7
8
9
10