sh判断命令执行结果字符串是否等于
时间: 2023-08-02 16:10:51 浏览: 83
在sh脚本中,可以使用if语句和test命令(或[[]])来判断命令执行的结果是否等于指定的字符串。具体语法如下:
```
if [ "$(command)" = "string" ]; then
# do something
fi
```
或者
```
if [[ "$(command)" = "string" ]]; then
# do something
fi
```
其中,command为需要执行的命令,$(command)表示执行该命令并将其输出作为判断条件。=表示判断是否等于,"string"为需要比较的字符串。如果命令执行结果等于指定的字符串,则执行# do something中的操作。
示例:
```
if [ "$(ls /)" = "bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var" ]; then
echo "Root directory contains all the expected directories."
fi
```
该脚本将根目录下的所有子目录与一个字符串进行比较,如果相等,则输出一条消息。
相关问题
sh判断命令执行结果字符串是否包含
在sh脚本中,可以使用if语句和test命令(或[[]])来判断命令执行的结果是否包含指定的字符串。具体语法如下:
```
if echo "$(command)" | grep -q "string"; then
# do something
fi
```
或者
```
if [[ "$(command)" =~ "string" ]]; then
# do something
fi
```
其中,command为需要执行的命令,$(command)表示执行该命令并将其输出作为判断条件。grep命令用于在输出中查找指定的字符串,-q选项表示不输出匹配的内容,只返回匹配结果。=~操作符表示执行正则表达式匹配,"string"为需要查找的字符串。如果命令执行结果包含指定的字符串,则执行# do something中的操作。
示例:
```
if echo "$(ls /)" | grep -q "bin"; then
echo "Root directory contains the bin directory."
fi
```
该脚本将根目录下的所有子目录输出,并在其中查找"bin"字符串,如果包含,则输出一条消息。
linux 写一个shell脚本 传入字符串、整形、boolean、浮点数,并用if判断传入的参数等于几,并用sh执行,给出具体例子
下面是一个示例 shell 脚本,它接受字符串、整数、布尔值和浮点数作为参数,并使用 if 判断传入的参数是否等于某个值:
```
#!/bin/sh
string_param="$1"
int_param="$2"
bool_param="$3"
float_param="$4"
if [ "$string_param" = "hello" ]; then
echo "The string parameter is 'hello'"
fi
if [ "$int_param" -eq 10 ]; then
echo "The integer parameter is 10"
fi
if [ "$bool_param" = "true" ]; then
echo "The boolean parameter is 'true'"
fi
if [ $(echo "$float_param == 3.14" | bc) -eq 1 ]; then
echo "The float parameter is 3.14"
fi
```
执行脚本:
```
sh script.sh hello 10 true 3.14
```
输出:
```
The string parameter is 'hello'
The integer parameter is 10
The boolean parameter is 'true'
The float parameter is 3.14
```
请注意,在判断浮点数参数时,我们使用了 bc 命令来比较浮点数的值。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)