gpt4 book ai didi

linux - bash 脚本 if 语句不显示 true

转载 作者:太空狗 更新时间:2023-10-29 11:09:35 24 4
gpt4 key购买 nike

我正试图在运行 resize2fs 之前收集一个快速脚本来检查文件系统。

#!/bin/bash
var2=$(dumpe2fs -h /dev/mapper/mylv | grep "Filesystem state:")
var1=test
echo $var1
echo $var2

if [ "$var2" = "Filesystem state: clean" ];
then
echo "clean"
else
echo "dirty"
fi

我的结果

Server1:~ # ./filesystest.sh
dumpe2fs 1.38 (30-Jun-2005)
test
Filesystem state: clean
dirty

似乎即使 var2 实际上是“文件系统状态:干净”,它仍然显示为错误。

最佳答案

您可能在 var2 中有额外的字符(可能是空格)。

而不是说:

if [ "$var2" = "Filesystem state: clean" ];

说:

if [[ "$var2" =~ "Filesystem state: clean" ]];

编辑:事实上,您的整个脚本可以写成:

dumpe2fs -h /dev/mapper/mylv | grep -q "Filesystem state: clean" && echo "clean" || echo "dirty"

关于linux - bash 脚本 if 语句不显示 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18493307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com