linux Shell 中grep+wc取值在shell中的结果与手动执行结果不一致的坑

vim restart.sh

#!/bin/bash

VDS=ps -ef |grep -w vds|grep -v grep|wc -l

if [ $VDS -eq 0 ];then
cd /usr/local/program;./linux-start.sh restart
else
echo "It‘s ok,don‘t restart!"
fi

注:如果在shell窗口直接运行上面的变量赋值不加 -w没有问题,但在脚本里,用 sh -x restart.sh 里来看并不一致,解决方法就是加了 -w 参数,精确取值后Ok

原文地址:http://blog.51cto.com/devin223/2321327

时间: 2024-10-20 20:03:13

linux Shell 中grep+wc取值在shell中的结果与手动执行结果不一致的坑的相关文章

《android---获取值AndroidManifest.xml中meta-data的value》

hive常用命令 show tables; 列出hive里面所有数据表名 desc userProfile; 显示数据表userProfile的基本表字段及字段type desc extended trackinfo; 显示数据表trackinfo的详细信息,包括字段说明,数据表等 /usr/local/cloud/hive/bin/hive 进入hive数据库 select attribute_name from pms_attribute where attribute_id=21000 a

用DataReader在comboBox中显示name,取值id:

定义ItemObject类 classItemObject { public int id; public string name; publicItemObject(int id,string name) { this.id=id; this.name =name; } public override string ToString() { return name; } } 1.实例化对象,加载数据 ItemObject[] io = new ItemObject[3];          

C#中float的取值范围和精度

原文:C#中float的取值范围和精度 float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: float x = 3.5F; 如果在以上声明中不使用后缀,则会因为您尝试将一个 double值存储到 float 变量中而发生编译错误. float的取值范围 float占用4个字节,和int是一样,也就是32bit. 1bit(符号位) 8bits(指数位) 23bits(尾数位) 存储方式如下图: 取

C#中float的取值范围和精度分析

本文实例分析了C#中float的取值范围和精度.分享给大家供大家参考.具体分析如下: float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: float x = 3.5F; 如果在以上声明中不使用后缀,则会因为您尝试将一个 double值存储到 float 变量中而发生编译错误. float的取值范围 float占用4个字节,和int是一样,也就是32bit. 1bit(符号位) 8bits(指数位)

Hibernate中Cascade的取值

Cascade属性的取值有: 1.none:忽略其他关联的对象,默认值,无需设定. 2.save-update:当session通过save(),update(),saveOrUpdate()方法来保存或更新对象时,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游离对象. 3.persist:当session通过persist()方法来保存当前对象时,会级联保存所有关联的新建的临时对象. 4.merge:通过Session的merge()方法来保存当前对象时,会级联融合所有关联的游离对

mysql中数据类型的取值范围

mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 18446744073709551615.一位为 8 个字节. 2.int 一个正常大小整数.有符号的范围是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,64

ul 中的li取值问题

ul 中的li定义的value会自动转换为int.数值,ie 浏览器下大于int最大值,显示int最大值,其他浏览器显示为0. 而且无论你定义什么值,都会转int.默认为1,例如value=中文. 所以如果你想要实现正确取值,就需要换一个li属性例如自定义属性time.或者改一种实现标签元素,例如div.都可以. 也可以在li中定义一个隐藏的input,然后取值:

关于模板中的动态取值 ---反射与javascript脚本编译

在项目中经常遇到一个问题,打印word或者打印excel的时候,我们经常使用一对一的赋值或者批量替换的方式来对模板进行修改. 但是现在遇到两种场景: 1.取值是通过自定以方法进行取值的. 如:一个销售单据,会涉及到很多种费用,并且这些费用是由后台配置的,非常灵活.但是我们在制作打印模板时取值各项费用我们该如何去定义他呢,如何给他赋值呢?我们如果针对这一个场景下的模板进行一个特殊定义后,在打印另一份单据或者遇到同样的取值非常灵活的数据,是不是也需要进行特殊处理呢. 2.取值是通过自行定义进行取值的

小程序中map的取值和赋值

1.初始化 resultMap: { "near": [], "join": [], "publish": [] } 2.js中直接取 const val = this.data.apiMap[key]; 3.页面取值 wx:for="{{resultMap.near}}" 4.赋值 let key = "resultMap." + keyName; this.setData({[key]: newList