【linux】报错Error:too many arguments及解决

文章讲述了编程中遇到的两个常见问题:一是变量名中含有空格导致的识别错误,通过使用双引号包围解决;二是if条件判断中使用单中括号与双中括号的区别,单中括号用于索引而非模式匹配,需改用双中括号解决。
摘要由CSDN通过智能技术生成

可能成因1:引用的变量名中有空格

例:转到abc files目录

cd abc files

出现该报错,原因在命令执行时将该变量识别为两个变量

解决方案

""使变量名被识别为一个整体,即:

cd "abc files"

可能成因2:使用if进行条件判断时[]使用不当

在下学艺不精,现在还不清楚什么情况下用单中括号用双中括号,后续学习后再来补充
我遇到该报错的原因在,使用if判断特定字符串是否存在于字符串数组中时,使用了单中括号:

if [ ! "$arr[@]" =~ "$str" ];then
	echo "$str isn't exist in the array."
fi

将 单中括号 改为 双中括号[[ ]]即可解决。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
"Too many arguments"是一个常见的错误信息,它表示在脚本或命令中使用了过多的参数。这个错误通常发生在使用条件语句(如if语句)时,比如在一个if语句中使用了多个判断条件而没有正确分隔它们。这可能是因为在条件语句中使用了错误的语法或者没有正确使用逻辑运算符导致的。要解决这个问题,可以按照以下步骤进行操作: 1. 首先,检查你的脚本或命令中的所有条件语句,确保每个条件都正确使用了逻辑运算符(如&&和||)来分隔不同的条件。 2. 确保每个条件都用方括号([ ])括起来,并且条件与方括号之间有一个空格。 3. 如果你使用的是多个条件,确保它们之间用逻辑运算符正确连接,并且运算符两边都有一个空格。 4. 检查是否有多余的空格、括号或引号,这些可能导致参数被错误地传递给条件语句。 通过仔细检查和调试你的脚本或命令,你应该能够找到并修复“too many arguments”错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【纯干货,无废话】shell脚本,判断语句报错[: too many arguments](https://blog.csdn.net/sinat_36342564/article/details/129400639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [linux bash中too many arguments问题的解决方法](https://download.csdn.net/download/weixin_38686677/12847191)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值