Ruby 从“dh-H”命令生成的输出中切掉“%”

Ruby 从“dh-H”命令生成的输出中切掉“%”,ruby,Ruby,我不熟悉脚本,我正在尝试为sensu check编写一个简单的脚本,以创建磁盘空间警报 下面的命令生成一个输出: #!/usr/bin/ruby a = `df -h / | grep -v "Filesystem" | awk '{print $5}'` puts a 假设输出为35% 现在,当我尝试使用a.chop时,我想去掉%仍然没有删除% 有人能帮我从输出中去掉%。命令返回的值末尾有一个换行符: a # => "35%\n" 要使用chop删除%,您需要先删除它: a.str

我不熟悉脚本,我正在尝试为sensu check编写一个简单的脚本,以创建磁盘空间警报

下面的命令生成一个输出:

#!/usr/bin/ruby
a =  `df -h / | grep -v "Filesystem" | awk '{print $5}'`
puts a
假设输出为
35%

现在,当我尝试使用
a.chop时,我想去掉
%
仍然没有删除
%


有人能帮我从输出中去掉
%

命令返回的值末尾有一个换行符:

a
# => "35%\n"
要使用
chop
删除
%
,您需要先删除它:

a.strip!
a.chop!
# => "35"

因为您要在数值比较中使用它,所以只需在一个步骤中将其转换为整数:

a =  `df -h / | grep -v "Filesystem" | awk '{print $5}'`
puts a.to_i
# => 66

您可以使用两个排骨,一个用于新行字符,另一个用于结尾处的%。试试
a.chop!。砍
使用
a.to_i
,它忽略无关字符
a.chop!。砍让我笑了+1.