gpt4 book ai didi

linux - linux shell 脚本中的一行 if/else 条件

转载 作者:IT王子 更新时间:2023-10-29 00:21:28 26 4
gpt4 key购买 nike

我想在一行 if/else 条件中有以下等价物。

$maxline=`cat journald.conf | grep "#SystemMaxUse="`
if [ $maxline == "#SystemMaxUse=" ]
then
sed 's/\#SystemMaxUse=/SystemMaxUse=50M/g' journald.conf > journald.conf2
mv journald.conf2 journald.conf;
else
echo "This file has been edited. You'll need to do it manually."
fi

我试图将其放入单行命令中。到目前为止,除了命令的 else 部分,我已经掌握了所有内容。这是我到目前为止所拥有的...

maxline=`cat journald.conf | grep "#SystemMaxUse="` && if [ $maxline == "#SystemMaxUse=" ]; then sed 's/\#SystemMaxUse=/SystemMaxUse=50M/g' journald.conf > journald.conf2 && mv journald.conf2 journald.conf; fi

那么如何将上述代码的 else 部分包含到我的命令中呢?提前感谢您的帮助。

最佳答案

看来您的方向是正确的。你只需要在“;”之后添加else语句在“then”语句之后。另外,我会用分号将第一行与第二行分开,而不是用“&&”连接。

maxline='cat journald.conf | grep "#SystemMaxUse="'; if [ $maxline == "#SystemMaxUse=" ]; then sed 's/\#SystemMaxUse=/SystemMaxUse=50M/g' journald.conf > journald.conf2 && mv journald.conf2 journald.conf; else echo "This file has been edited. You'll need to do it manually."; fi

同样在您的原始脚本中,在声明 maxline 时您使用了反引号“`”而不是单引号“'”,这可能会导致问题。

关于linux - linux shell 脚本中的一行 if/else 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179915/

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