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报错处理相关推荐
- Linux 之执行 Shell 脚本空行造成: not found 报错的解决方法
问题: 执行shell脚本文件,报错 原因: 应该是使用了window的记事本编辑了脚本文件. window下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n. 解决方法: 方法一:使 ...
- unity中打开别人的项目,脚本中继承的父类报错(红色波浪线)VS 编译过程 error CS0246: 未能找到类型或命名空间名“XXX”
最开始按照报错 error CS0246: 未能找到类型或命名空间名"XXX"进行查找,查到的都是 .Net 框架版本不一样,更改版本后依旧报错 解决办法:打开Unity-> ...
- linux脚本done报错,linux – 如何在shell脚本中处理错误/异常?
下面是我在bash中执行的脚本.它工作正常. fileexist=0 for i in $( ls /data/read-only/clv/daily/Finished-HADOOP_EXPORT_& ...
- 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 ...
- 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中,对其 ...
- 解决导入maven项目之后pom.xml中的project标签报错:批量删除没有下载完全的pom依赖bat脚本
报错现象: 导入maven项目之后pom.xml中的project标签报错. 问题原因: 这个项目我来来回回导入的很多次,有些依赖没有下完全,只下了一半.当我再一次导入该项目时,那些没有下载完全的依赖 ...
- docker中运行bash: mongo: command not found报错问题处理(直接使用mongosh)
问题描述: docker中运行bash: mongo: command not found报错问题处理 原因: mongo命令在mongodb 6.0已经不适用了 解决方案: 直接使用mongosh
- 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)
一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...
- Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作
文章目录 前言 获取命令执行结果 使用反引号 `` ` ``command `` ` ``来执行命令 使用括号组合 $(command) 来执行命令 两种方式的区别 特殊变量使用 $0 $1 $2 . ...
最新文章
- 用aria2c下迅雷离线资源
- [PAT乙级]1036 跟奥巴马一起编程
- Web前端笔记-let n = 6 - data.length >>> 0 含义
- mbio期刊拒稿率_学术圈“鄙视链”:你看核心期刊“ABCD”,核心看你“一类二类”...
- 解决yum [Errno 256] No more mirrors to try
- python3源代码分析_分析一点python源代码
- 下载Django中文官方文档
- 基于三维点云的机器人杆件目标识别与抓取(三)
- jq实现标签单选、多选功能
- mp3lame linux 编译,ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
- 使用checkstyle对android代码进行格式检查和格式化(google格式)
- 一位拖延症患者程序员的自我救赎!
- Adobe 2021正式版发布!全新的adobe2021和2020有哪些区别?
- iOS 苹果2.1大礼包回复模版-guideline 2.1 Information Needed
- Intent 和 Intentfilter
- 一曲京声人去远——纪念刘大中校友100周年诞辰
- 12.2 做一个读书的读书人——《逆袭大学》连载
- Êtes-vous au courant des derniers sacs lancel styles et tendances ?
- iOS开发之结合asp.net webservice实现文件上传下载
- Java中String中split方法
热门文章
- eclipse编码设置
- hive的用户和用户权限
- 设计模式:迭代器模式
- Android中asset和raw的区别
- boost pcre Greta RE2 正则表达式性能测试
- CISS.SideMenu的bug
- xp下msn8.5无法安装的解决办法
- jsp cookie 中文乱码 的解决方法
- 透過 OpenNI 建立 Kinect 3D Point Cloud
- 【python+beautifulsoup4】Python中安装bs4后,pycharm报错ModuleNotFoundError: No module named 'bs4'...