欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Shell脚本中command not found报错处理

发布时间:2025/6/17 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Shell脚本中command not found报错处理 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

字符串的定义与赋值

# 定义STR1变量,值为abcSTR1 = "abc"(错误写法)STR1="abc"(正确写法)

  在编写java代码时会考虑到格式化,往往变量定义时会有一些空格或者换行符等,因此在写shell脚本时也就顺手这么写了,在运行时就会报错:"command not found",将空格删除才正常运行。源码如下:

#!/bin/bash STR1="abc" echo $STR1 STR2 = "abc" echo $STR2 STR

  

  对STR1定义是正确的,STR2则为错误方式,删除空格即可。

if条件语句中的空格

# 比较两个字符串是否相等中if语句的写法STR1="abc" STR2="abcd"if[$STR1=$STR2](错误写法)if [ $STR1 = $STR2 ](正确写法)

  if语句中如果不添加空格的话,"if["会被识别为一个未知的命令,在运行时就会报错:"command not found",添加正确的空格才能运行。源码如下:

#!/bin/bash STR1="abc" STR2="abcd"#if[$STR1=$STR2](错误写法) if [ $STR1 = $STR2 ] ;thenecho "相等" elseecho "不相等" fi

shell中判断字符串包含关系的方法  

  利用grep关键字查找

#!/bin/bash STR1="abc" STR2="abbcd abc ccc"result=$(echo $STR2 | grep "${STR1}") echo $result if [[ "$result" != "" ]] ;thenecho "包含" elseecho "不包含" fi

  利用字符串运算符(更简洁、推荐使用)

#!/bin/bash STR1="abc" STR2="abbcd abc ccc"if [[ $STR2 =~ $STR1 ]] ;thenecho "包含" elseecho "不包含" fi

转载于:https://www.cnblogs.com/jing99/p/9841710.html

总结

以上是生活随笔为你收集整理的Shell脚本中command not found报错处理的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。