bash shell 中 if 条件中的字符串比较错误
Error in string comparison in if condition in bash shell
我需要从配置文件中读取一些属性,并在属性匹配某些值时执行一些命令。
但是当我尝试在 if 条件下将值与字符串进行比较时,它不起作用。
下面是我正在尝试做的事情的一个小版本。
#!/bin/bash
source config.file
echo "mode: $mode"
if [ "$mode" = "slow" ];
then
echo "Mode is slow"
fi
配置文件如下所示。
###config###
mode=slow
user=admin
password=pwd
###end###
echo 语句将值打印为“慢”,但永远不会满足 if 条件。
我做错了什么?
对我有用。也许您在配置文件中有 MSWin 行结尾?
运行
dos2unix config.file
或
fromdos config.file
将它们转换为 *nix 标准。
我需要从配置文件中读取一些属性,并在属性匹配某些值时执行一些命令。 但是当我尝试在 if 条件下将值与字符串进行比较时,它不起作用。
下面是我正在尝试做的事情的一个小版本。
#!/bin/bash
source config.file
echo "mode: $mode"
if [ "$mode" = "slow" ];
then
echo "Mode is slow"
fi
配置文件如下所示。
###config###
mode=slow
user=admin
password=pwd
###end###
echo 语句将值打印为“慢”,但永远不会满足 if 条件。 我做错了什么?
对我有用。也许您在配置文件中有 MSWin 行结尾?
运行
dos2unix config.file
或
fromdos config.file
将它们转换为 *nix 标准。