【基本介绍】
在编写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 Shell环境中,当你尝试执行一个命令或脚本时,如果你遇到了"too many arguments"的错误,这通常意味着你传递给命令的参数数量超过了它的限制,或者是bash解析命令行的方式导致了误解析。这个问题通常...
《PyPI官网下载:flake8-force-keyword-arguments-1.0.2.tar.gz——Python库解析与使用指南》 Python作为一个强大且易用的编程语言,拥有丰富的第三方库资源,其中PyPI(Python Package Index)是官方的包管理器,...
too many arguments(解决方案).md
《端到端设计在系统架构中的应用》一文由J.H. Saltzer、D.P. Reed和D.D. Clark撰写,出自麻省理工学院计算机科学实验室。本文旨在探讨分布式计算机系统中功能模块放置的设计原则,重点阐述了一种被称为“端到端”...
06-函数的arguments参数.html
"arguments-extended"就是一个这样的开源库,专为处理JavaScript中的`arguments`对象提供了一系列实用方法,旨在增强参数操作的灵活性和便利性。 `arguments`对象在JavaScript中是一个特殊的对象,它在函数内部可用...
### End-to-End Arguments in System Design #### 概述 《End-to-End Arguments in System Design》是一篇经典的网络组成原理论文,它提出了一个重要的设计理念——端到端设计原则(End-to-End Principle)。该...
iOS-Swift 数据库 WCDB 二次封装使用/自定义字段映射类型
Bash是最常用的一种,它是Bourne Again SHell的缩写,是Unix和Linux系统默认的shell。 【命令的使用】 在Linux中,命令通常由命令、选项和参数组成。命令提示符#表示当前用户为管理员,$表示普通用户。获取命令...
too-many-positional-arguments-before-star 在加注星标的参数之前提供了太多的参数。 no-cls-argument 类方法中的第一个参数必须为cls no-method-argument 方法没有参数 no-self-argument 方法中的第一个
在iOS开发中,Variadic Arguments(可变参数)是一种允许函数接受不同数量参数的技术。它在C、C++和Objective-C等语言中被广泛使用,包括iPhone应用开发。本实例将深入探讨如何在Objective-C中使用Variadic ...
Ruby方法参数实验室 学习目标 定义采用和使用参数的方法 定义一个采用和使用两个参数的方法 使用可选参数定义方法 介绍 既然我们已经看到了定义方法以向程序添加关键功能的几种方法,那么让我们尝试编写自己的方法。...
Ruby方法参数实验室 学习目标 定义采用和使用参数的方法 定义一个采用和使用两个参数的方法 使用可选参数定义方法 介绍 现在,我们已经看到了一些定义方法的方法,这些方法可以为程序添加关键功能,让我们尝试编写...
gcc 4.1 package
./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)是一个开源项目,旨在简化Java程序中的命令行参数解析。它利用了Java的反射机制,使得开发者能够轻松定义和处理命令行参数,而无需依赖额外的库或者创建复杂的对象或枚举...
标题中的“Shell kill tomcat process”指的是在Linux或Unix操作系统中,使用Shell命令来结束Tomcat服务进程。Tomcat是一款广泛使用的开源Java Servlet容器,它用于部署和运行Java Web应用程序。在某些情况下,可能...
arguments using bidirectional LSTM}}, booktitle = {Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)}, year = {2016}, address = {Berlin, ...