字符串的定义与赋值

# 定义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报错处理相关推荐

  1. Linux 之执行 Shell 脚本空行造成: not found 报错的解决方法

    问题: 执行shell脚本文件,报错 原因: 应该是使用了window的记事本编辑了脚本文件. window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n. 解决方法: 方法一:使 ...

  2. unity中打开别人的项目,脚本中继承的父类报错(红色波浪线)VS 编译过程 error CS0246: 未能找到类型或命名空间名“XXX”

    最开始按照报错 error CS0246: 未能找到类型或命名空间名"XXX"进行查找,查到的都是 .Net 框架版本不一样,更改版本后依旧报错 解决办法:打开Unity-> ...

  3. linux脚本done报错,linux – 如何在shell脚本中处理错误/异常?

    下面是我在bash中执行的脚本.它工作正常. fileexist=0 for i in $( ls /data/read-only/clv/daily/Finished-HADOOP_EXPORT_& ...

  4. Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务

    1.Azkaban实战 Azkaba内置的任务类型支持command.java Command类型单一job示例 1.创建job描述文件 vi command.job #command.job typ ...

  5. RedHat中敲sh-copy-id命令报错:-bash: ssh-copy-id: command not found

    RedHat中敲sh-copy-id命令报错:-bash: ssh-copy-id: command not found 在多台Linux服务器SSH相互访问无需密码, 其中进入一台Linus中,对其 ...

  6. 解决导入maven项目之后pom.xml中的project标签报错:批量删除没有下载完全的pom依赖bat脚本

    报错现象: 导入maven项目之后pom.xml中的project标签报错. 问题原因: 这个项目我来来回回导入的很多次,有些依赖没有下完全,只下了一半.当我再一次导入该项目时,那些没有下载完全的依赖 ...

  7. docker中运行bash: mongo: command not found报错问题处理(直接使用mongosh)

    问题描述: docker中运行bash: mongo: command not found报错问题处理 原因: mongo命令在mongodb 6.0已经不适用了 解决方案: 直接使用mongosh

  8. 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)

    一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...

  9. Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作

    文章目录 前言 获取命令执行结果 使用反引号 `` ` ``command `` ` ``来执行命令 使用括号组合 $(command) 来执行命令 两种方式的区别 特殊变量使用 $0 $1 $2 . ...

最新文章

  1. 用aria2c下迅雷离线资源
  2. [PAT乙级]1036 跟奥巴马一起编程
  3. Web前端笔记-let n = 6 - data.length >>> 0 含义
  4. mbio期刊拒稿率_学术圈“鄙视链”:你看核心期刊“ABCD”,核心看你“一类二类”...
  5. 解决yum [Errno 256] No more mirrors to try
  6. python3源代码分析_分析一点python源代码
  7. 下载Django中文官方文档
  8. 基于三维点云的机器人杆件目标识别与抓取(三)
  9. jq实现标签单选、多选功能
  10. mp3lame linux 编译,ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
  11. 使用checkstyle对android代码进行格式检查和格式化(google格式)
  12. 一位拖延症患者程序员的自我救赎!
  13. Adobe 2021正式版发布!全新的adobe2021和2020有哪些区别?
  14. iOS 苹果2.1大礼包回复模版-guideline 2.1 Information Needed
  15. Intent 和 Intentfilter
  16. 一曲京声人去远——纪念刘大中校友100周年诞辰
  17. 12.2 做一个读书的读书人——《逆袭大学》连载
  18. Êtes-vous au courant des derniers sacs lancel styles et tendances ?
  19. iOS开发之结合asp.net webservice实现文件上传下载
  20. Java中String中split方法

热门文章

  1. eclipse编码设置
  2. hive的用户和用户权限
  3. 设计模式:迭代器模式
  4. Android中asset和raw的区别
  5. boost pcre Greta RE2 正则表达式性能测试
  6. CISS.SideMenu的bug
  7. xp下msn8.5无法安装的解决办法
  8. jsp cookie 中文乱码 的解决方法
  9. 透過 OpenNI 建立 Kinect 3D Point Cloud
  10. 【python+beautifulsoup4】Python中安装bs4后,pycharm报错ModuleNotFoundError: No module named 'bs4'...