`

Shell - too many arguments

阅读更多
【基本介绍】
在编写shell脚本的时候会经常遇到“line 2: [: too many arguments”类似的错误,特别是在if判断语句中。

【简单案例】
[root@bogon script]# cat bb.sh 
tmp="grep Accept /root/test.log | grep -v something" 
if [ $tmp ]
then
 echo "aa"
else
 echo "bb"
fi
[root@bogon script]# bash bb.sh 
bb.sh: line 2: [: too many arguments
bb


解决方案:在if判断的变量尽可能的添加双引号
[root@bogon script]# cat bb.sh 
tmp="grep Accept /root/test.log | grep -v something" 
if [ "$tmp" ]
then
 echo "aa"
else
 echo "bb"
fi
[root@bogon script]# bash bb.sh 
aa


【参考】
http://fengyonghui.iteye.com/blog/568541
分享到:
评论

相关推荐

    linux bash中too many arguments问题的解决方法

    在Linux的Bash Shell环境中,当你尝试执行一个命令或脚本时,如果你遇到了"too many arguments"的错误,这通常意味着你传递给命令的参数数量超过了它的限制,或者是bash解析命令行的方式导致了误解析。这个问题通常...

    PyPI 官网下载 | flake8-force-keyword-arguments-1.0.2.tar.gz

    《PyPI官网下载:flake8-force-keyword-arguments-1.0.2.tar.gz——Python库解析与使用指南》 Python作为一个强大且易用的编程语言,拥有丰富的第三方库资源,其中PyPI(Python Package Index)是官方的包管理器,...

    too many arguments(解决方案).md

    too many arguments(解决方案).md

    End-to-End Arguments in System Design(端到端设计)

    《端到端设计在系统架构中的应用》一文由J.H. Saltzer、D.P. Reed和D.D. Clark撰写,出自麻省理工学院计算机科学实验室。本文旨在探讨分布式计算机系统中功能模块放置的设计原则,重点阐述了一种被称为“端到端”...

    06-函数的arguments参数.html

    06-函数的arguments参数.html

    END-TO-END ARGUMENTS IN SYSTEM DESIGN

    ### 端到端论证在系统设计中的应用 #### 引言 《端到端论证在系统设计中的应用》是J.H. Saltzer、D.P. Reed和D.D....该论文主要探讨了如何在分布式计算机系统的模块之间合理分配功能的问题,并提出了一种称为“端到端...

    前端开源库-arguments-extended

    "arguments-extended"就是一个这样的开源库,专为处理JavaScript中的`arguments`对象提供了一系列实用方法,旨在增强参数操作的灵活性和便利性。 `arguments`对象在JavaScript中是一个特殊的对象,它在函数内部可用...

    End-to-End arguments in system design. 阅读报告

    ### End-to-End Arguments in System Design #### 概述 《End-to-End Arguments in System Design》是一篇经典的网络组成原理论文,它提出了一个重要的设计理念——端到端设计原则(End-to-End Principle)。该...

    iOS-Swift 数据库 WCDB 二次封装使用/自定义字段映射类型

    iOS-Swift 数据库 WCDB 二次封装使用/自定义字段映射类型

    Linux命令笔记1

    Bash是最常用的一种,它是Bourne Again SHell的缩写,是Unix和Linux系统默认的shell。 【命令的使用】 在Linux中,命令通常由命令、选项和参数组成。命令提示符#表示当前用户为管理员,$表示普通用户。获取命令...

    python-language-server:适用于Python的Microsoft语言服务器

    too-many-positional-arguments-before-star 在加注星标的参数之前提供了太多的参数。 no-cls-argument 类方法中的第一个参数必须为cls no-method-argument 方法没有参数 no-self-argument 方法中的第一个

    iphone开发实例 04-Variadic Arguments

    在iOS开发中,Variadic Arguments(可变参数)是一种允许函数接受不同数量参数的技术。它在C、C++和Objective-C等语言中被广泛使用,包括iPhone应用开发。本实例将深入探讨如何在Objective-C中使用Variadic ...

    Programming-univbasics-3-ruby-method-arguments-lab-online-web-prework

    Ruby方法参数实验室 学习目标 定义采用和使用参数的方法 定义一个采用和使用两个参数的方法 使用可选参数定义方法 介绍 既然我们已经看到了定义方法以向程序添加关键功能的几种方法,那么让我们尝试编写自己的方法。...

    programming-univbasics-3-ruby-method-arguments-lab-atx01-seng-ft-080921

    Ruby方法参数实验室 学习目标 定义采用和使用参数的方法 定义一个采用和使用两个参数的方法 使用可选参数定义方法 介绍 现在,我们已经看到了一些定义方法的方法,这些方法可以为程序添加关键功能,让我们尝试编写...

    当make执行遇到 Arguments too long

    gcc 4.1 package

    encoding-arguments:利用gnu parallel测试多个编码标志,以查看它将如何影响bd速率

    ./run.sh --flags arguments.aomenc --encworkers 12 对于bd_rate计算,您需要使用bd标志 ./run.sh --flags arguments.aomenc --encworkers 12 --bd steps 选项 General Options: -h/--help Print this help screen...

    CLAJR - Command Line Arguments with Java-开源

    CLAJR(Command Line Arguments with Java)是一个开源项目,旨在简化Java程序中的命令行参数解析。它利用了Java的反射机制,使得开发者能够轻松定义和处理命令行参数,而无需依赖额外的库或者创建复杂的对象或枚举...

    Shell kill tomcat process

    标题中的“Shell kill tomcat process”指的是在Linux或Unix操作系统中,使用Shell命令来结束Tomcat服务进程。Tomcat是一款广泛使用的开源Java Servlet容器,它用于部署和运行Java Web应用程序。在某些情况下,可能...

Global site tag (gtag.js) - Google Analytics