首页 > 系统相关 >运行shell脚本时报错"[[ : not found"解决方法

运行shell脚本时报错"[[ : not found"解决方法

时间:2023-10-18 15:13:28浏览次数:79  
标签:shell 时报 bc system echo sh install found bash

实例

if [ "$system" == "CentOS" ]; then
echo "yum install bc"
elif [ "$system" == "Ubuntu" ] || [ "$system" == "Debian"]; then
echo "apt install bc"

fi
}
运行至判断表达式时报错,sh命令无法识别"[[]]"表达式。在脚本头部添加#!/bin/bash也不管用
最终也找到了问题的解决办法:bash与sh是有区别的,两者是不同的命令,且bash是sh的增强版,而"[[]]"是bash脚本中的命令,因此在执行时,使用sh命令会报错,将sh替换为bash命令即可:
$ bash myscript
或者,如果脚本可执行:
$ ./myscript

如果希望脚本可移植,请使用[ 比较还需要不同的语法:更改==为=. 而且[]不需要""引用变量
if [ $system = "CentOS" ]; then
echo "yum install bc"
elif [ $system = "Ubuntu" ] || [ $system = "Debian" ]; then
echo "apt install bc"

fi
}

标签:shell,时报,bc,system,echo,sh,install,found,bash
From: https://www.cnblogs.com/w787815/p/17772384.html

相关文章

  • kubeadm 加入work 节点集群时报 http://localhost:10248/healthz处理方法
    现象:[kubelet-check]TheHTTPcallequalto'curl-sSLhttp://localhost:10248/healthz'failedwitherror:Get"http://localhost:10248/healthz":dialtcp127.0.0.1:10248:connect:connectionrefused.[kubelet-check]Itseemslikethekube......
  • Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found
    Plugin'org.springframework.boot:spring-boot-maven-plugin:'notfound 一、问题现象pom.xml文件中有报红的错误提示,“Plugin'org.springframework.boot:spring-boot-maven-plugin:'notfound”。pom.xml中的信息如下:<build><plugins>......
  • ModuleNotFoundError: No module named 'conda.auxlib'
    [~/software]$condaTraceback(mostrecentcalllast): File"/ppp/software/Anaconda3.8/bin/conda",line15,in<module>   sys.exit(main()) File"/ppp/software/Anaconda3.8/lib/python3.8/site-packages/conda/cli/main.py",line11......
  • HBase-hbase shell操作
    hbaseshell操作一、DDL操作1.开启hbaseshellhbaseshell 2.查看hbase状态Status 3.查看hbase版本Version 4.创建命名空间create_namespace'命名空间名' 5.显示所有命名空间list_namespace 6.删除命名空间在删除一个命名空间时,该命名空间不能包含任何的表,否则......
  • 解决The following specifications were found to be incompatible with the existing
    解决"Thefollowingspecificationswerefoundtobeincompatiblewiththeexistingpythoninstallation"的问题当你尝试安装或更新Python包时,有时候你可能会遇到以下错误信息:plaintextCopycodeThefollowingspecificationswerefoundtobeincompatiblewiththeexisting......
  • ECS-使用cat查看文件后出现乱码,整个终端显示包括shell提示符都是乱码
    问题描述:在bash下用cat显示二进制文件后会出现乱码,整个终端显示包括shell提示符都是乱码,这个跟语言环境无关。解决办法:恢复的话,大致有以下几种方法:方法一:盲打输入echo-e'\xf'并回车。与这个命令相对的是echo-e'\xe',在正常状态下输入此命令会把终端搞出乱码来。这两个命令的......
  • 关于crontab运行脚本时报错KeyError: 'PATH'
    最近在服务器上为let'sencrypt证书添加自动续签计划任务时,发现总是不成功,但手动执行该计划任务所对应的sh脚本则没问题,这让我怀疑crontab执行时可能缺少了点什么导致的,想追踪一下crontab的执行日志,发现并没有,需要手动修改配置文件打开:sudovim/etc/rsyslog.d/50-default.conf......
  • shell 调试方法
    shell在linux系统中比较常见,简单的脚本可以看着确实没难度,但是当脚本功能复杂后,看起来就不那么流畅了,所以掌握一些调试方式还是很有必要的,这里我收集了一次常用的调试方式。shell调试的方法echo语句通过在脚本代码中插入echo语句输出变量值、执行状态等信息,在脚本中直......
  • PowerShell IDE - PowerShellPlus(4)- IIS X功能介绍
    IIS管理功能,根据安装版本不同X显示主版本号。比如我的是IIS7,则是IIS7.互联网信息服务(英语:InternetInformationServices,简称IIS),是由微软公司提供的基于运行MicrosoftWindows的互联网基本服务。最初是WindowsNT版本的可选包,随后自带在Windows2000、WindowsXPProfessional和Wind......
  • 提示-bash telnet command not found的解决方法
    Linuxcentos运行telnet命令,出现下面的错误提示:[root@localhost~]#telnet127.0.0.1-bash:telnet:commandnotfound解决方法:安装telnet服务centos、ubuntu安装telnet命令的方法.yumlisttelnet*列出telnet相关的安装包yuminstalltelnet-server......