bash 出现意外标记然后出现错误

2023-11-30

我编写了一个 bash 脚本,当我测试变量是否为空的条件时收到错误。

下面是一个示例脚本:

我没有提到为变量 a 和 fne 赋值而执行的命令,但是

#! /bin/bash

for f in /path/*
do
    a=`some command output`
    fne=`this command operates on f`
    if[ -z "$a" ]
    then
        echo "nothing found"
    else
        echo "$fne" "$a"
    fi
done

错误:意外标记“then”附近出现语法错误。

我尝试了另一种变体,如下所示:

#! /bin/bash

for f in /path/*
do
    a=`some command output`
    fne=`this command operates on f`
    if[ -z "$a" ]; then
        echo "nothing found"
    else
        echo "$fne" "$a"
    fi
done

再次出现同样的错误。

当我尝试以这种方式进行比较时:

if[ "$a" == "" ]; then

再次出现同样的错误。

我不确定错误的原因是什么。变量a的值是这样的:

与它相关的东西 (1) : [x, y]

它包含空格、方括号、逗号、冒号。为了进行比较,我将变量名称括在双引号中。


你缺少了后面的空格if:

#! /bin/bash

for f in /path/*
do
    a=`some command output`
    fne=`this command operates on f`
    if [ -z "$a" ]; then
        echo "nothing found"
    else
        echo "$fne" "$a"
    fi
done

旁注:如果您使用vi对于编辑,它会对您的拼写错误进行语法着色...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bash 出现意外标记然后出现错误 的相关文章

  • 如何让 STDOUT 和 STDERR 都转到终端和日志文件?

    我有一个脚本 将由非技术用户交互式运行 该脚本将状态更新写入 STDOUT 以便用户可以确定脚本运行正常 我希望将Stdout和STDERR重定向到终端 以便用户可以看到脚本正在工作 并查看是否存在问题 我还希望将两个流都重定向到日志文件
  • 通过 bash 从文件中检索电子邮件主题

    我有一个 shell 脚本 它将文件从服务器邮件文件夹下载到 NAS 设备 以便客户端拥有本地备份的副本 文件保存为11469448248 H15587P19346 smtp x14 eu 2 S文件 我已将扩展名更改为标准 eml 格式
  • Bash 脚本:将数组作为参数传递给函数并打印数组

    我将一个数组传递给一个函数并尝试打印该数组的每个元素 下面是数组参数周围带有引号的代码片段 bin bash print array array for i in array with quotes do echo i done ar 1
  • sed/awk/bash 用外部文件内容替换两个字符串之间的文本

    我正在编写一个脚本 命令 它将采用 inputFile1 在其中查找特定的开始和结束字符串 并替换它们之间的所有文本 包含 inputFile2 的完整内容 理想情况下 但不是强制性的 这应该不需要转义特殊字符即可工作 因此我可以将字符串放
  • bash:清理三个文件的外连接,保留文件成员资格

    考虑以下三个文件 其标题位于第一行 file1 id name in1 1 jon 1 2 sue 1 file2 id name in2 2 sue 1 3 bob 1 file3 id name in3 2 sue 1 3 adam 1
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • awk 返回两个变量

    现在这就是我正在做的事情 ret ls la awk print 3 9 usr echo ret awk print 1 fil echo ret awk print 2 问题是我没有运行ls我正在运行一个需要时间的命令 因此您可以理解其
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • 使用 grep 查找所有匹配的模式

    In txt1 S01A1P2 S01A1P5 S01A1P4 In txt2 data train wave S01A1P3 mfc data train wave S01A1P7 mfc data train wave S01A1P8
  • wget 并行下载文件并重命名

    我有一个包含两列的文本文件 第一列是要保存的名称 第二列是资源的 url 地址 10000899567110806314 jpg http lifestyle inquirer net files 2018 07 t0724cheekee
  • Bash:产生当父脚本退出时退出的子进程

    我想在 Bash 中生成多个子进程 但我希望父脚本保持运行 这样发送到父脚本的信号也会影响生成的子进程 这不会这样做 parent bash usr bin bash spawnedChildProcess1 spawnedChildPro
  • 独特的 Linux 文件名,可按时间排序

    以前我用的是uuidgen http man7 org linux man pages man1 uuidgen 1 html创建唯一的文件名 然后我需要通过 bash 脚本按日期 时间迭代该文件名 从那时起 我发现简单地通过 ls l 循
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 在unix、bash中合并csv文件

    我有一些 csv 文件 其格式如下 测试1 csv field port1 a1 0 2 a2 0 3 a3 0 6 测试2 csv field port2 b1 0 5 b2 0 6 b3 0 7 b4 0 1 b5 0 5 测试3 cs
  • Xcode 方案预操作脚本未运行

    点击构建 构建日志中不会打印任何内容 是什么赋予了 Xcode 版本 8 2 1 8C1002 预操作发生在构建之前 因此输出不会进入构建日志 而是进入 stdErr 您可以将输出复制到文件中 exec gt PROJECT DIR pre
  • Bash 目录上的 For 循环

    快速背景 ls src file1 file2 dir1 dir2 dir3 Script bin bash for i in src do if d i then echo i fi done Output src dir1 src di
  • 从文件中随机采样行

    我有一个大约 40gb 和 1800000 行的 csv 文件 我想随机采样 10 000 行并将它们打印到一个新文件中 现在 我的方法是将 sed 用作 sed n vars lt input txt gt output txt Wher
  • 使用转义序列渲染文本(如终端)

    你好 我正在寻找一些库或工具来在文本文件中呈现带有转义序列字符的文本 我不知道如何称呼它 但这是一个例子 echo e abc vdef abc def echo e abc vdef gt tmp xxxxx vi tmp xxxxx 我
  • 如何隐藏显示终端命令输出

    当我运行这个命令时 sudo htpasswd b home reynolds htpasswd admin admin 我正在得到输出Updating password for user admin在终端中 但我不想显示该输出 所以我在谷
  • 如何在bash中进行二进制加法

    我正在尝试将两个 32 位二进制数相加 其中之一是常数 address range in binary 另一个是数组的元素 IPinEachSubnet val 我正在尝试按照说明进行操作here https www linuxquesti

随机推荐

  • 使用python将灰度图像保存为4位png

    我正在寻找一种使用 python 将灰度图像保存为 4 位 png 的快速方法 我必须保存的图像很大 因此保存它们需要相当长的时间 假设我的图像存储在 numpy 数组中 dtype 8 位 使用 PyPng 我可以这样做 import p
  • C++ 概念相同且可赋值

    我最近一直在尝试 C 概念 我正在尝试以下范围扩展文档中的定义 http www open std org jtc1 sc22 wg21 docs papers 2016 n4569 pdf 的定义和用法Same让我困惑 由于我不知道的原因
  • SQL Server 2008 外键区分大小写

    SQL Server 2008 是否可能具有不区分大小写的数据 例如以下将返回数据 SELECT mycolumn FROM mytable WHERE mycolumn Case SELECT mycolumn FROM mytable
  • 在xcode中访问另一个类的变量

    我有一个balloonGameViewController h我制作的另一个课程叫做balloon h 我想访问我设置的一些变量balloon h来自viewController 我有什么办法可以实现这个目标吗 ballon h 中的变量是
  • 当排序很重要时,使用 for..in 迭代 JavaScript 对象属性和数组

    这已经是一个古老的时代了question我知道不使用的常见原因for in或者甚至可能在需要任何排序时反对 但我最近发现了这篇文章MDC在删除操作符上 跨浏览器问题 尽管 ECMAScript 使对象的迭代顺序依赖于实现 但似乎所有主要浏览
  • 使用 UIIImagePicker 的 CGAffineTransform 缩放 UIImage 并保存到 Parse SDK

    我使用以下代码来扩展我的UIImagePickerController CGAffineTransform translate CGAffineTransformMakeTranslation 0 0 71 0 This slots the
  • position_dodge的控制层次

    如果使用闪避条形图 是否有一种方法可以控制哪个元素绘制在另一个元素前面 ggplot mtcars aes x factor cyl fill factor vs geom bar position position dodge width
  • Spring Security REST 端点身份验证的意外行为?

    我们寻找的场景如下 客户端使用 REST 连接到 REST 登录 url Spring 微服务 使用 Spring Security 应该返回200 OK和一个登录令牌 客户端保留令牌 客户端使用相同的令牌调用其他 REST 端点 然而 我
  • 如何在UIWebview中获取当前正在播放的视频的url

    有没有办法获取当前播放视频的链接 我正在加载m youtube com 对于某些视频 它甚至没有进入代表 我也尝试使用 NStimer 但对于某些视频 它不是单击的网址 有一种巧妙的方法可以通过监听来做到这一点AVPlayerItemBec
  • WPF 有哪些绑定模式?

    我不明白WPF中的各种数据绑定模式 例如 One Way Two Way One Time etc 这些模式分别代表什么意思 什么时候应该使用它们 OneWay 当您希望绑定属性更新用户界面时使用此选项 TwoWay 这与以下行为相同One
  • WPF:检测 C# 代码中的行验证错误

    我想完成一个非常简单的任务 但是到目前为止 这里的解决方案或其他找到的解决方案都没有帮助我 我有一个WPFDataGrid 它绑定到类型化数据集 当我单击窗口中的 确定 按钮时 我想检测当前是否存在任何行验证错误 我想显示一个消息框并告诉用
  • self.tabBarController解雇ViewControllerAnimated不起作用

    我的应用程序中有一个 UITabBarController 我想从一个选项卡呈现另一个 UIViewController 所以我写在ViewControllerA 这是 tabviewcontroller 中的一个选项卡 UIStorybo
  • 如何使手风琴标题上仅可单击特定文本 - jquery?

    我向手风琴标题添加了删除和编辑链接 但这些链接不起作用 因为每次我单击它们时手风琴都会打开 以及关于我该如何做的建议 请注意 我正在做嵌套手风琴 这是我在js上定义的 acc2 accordion alwaysOpen false acti
  • AngularJs如何调用prettyprint?

    我正在尝试为我的 angularjs 应用程序使用 Prettyprint 插件 但无法使其发挥作用 我创建一个简单的指令并调用方法 PrettyPrint 但代码未格式化 FIDDLE http jsfiddle net Tropical
  • 使用相对 URL 时如何使用 HTTP 传输状态

    我正在尝试实现内置TransferHttpCache模块为了消除重复的请求 我在我的应用程序中使用这个拦截器 intercept req HttpRequest
  • R - 基于重复行条件的子集列

    我有一个数据框 其中包含重复的 id 列和站点计数 我想知道如何仅在 Site Count 记录大于 0 时删除重复的 ID 记录 生成DF DF lt data frame ID sample 100 300 100 replace T
  • 迭代 ruby​​ 中的哈希数组

    所以如果我有一个像这样的哈希数组 ruby初学者 input last name gt Gay first name gt Rudy display name gt Rudy Gay position gt SF minutes gt 39
  • Json数组详细信息在带有ionic的AngularJS中显示在三页中

    我有类别数组 还有更多产品 我需要在类别页面中显示类别 当单击某个类别时 我必须重定向产品页面并显示必要的产品 单击产品时 我必须重定向产品详细信息页面并显示必要的产品详细信息 类别加载到类别页面 点击时会重定向到产品页面 但是 我看不到产
  • Firestore 文档 get() 性能

    刚刚开始探索 Firestore 存储 要做的第一件事 通过文档密钥读取我的 Android 应用程序中的一个简单的小文档 经过 Google 验证 但这可能并不重要 这是一个片段 public void readDoc final Str
  • bash 出现意外标记然后出现错误

    我编写了一个 bash 脚本 当我测试变量是否为空的条件时收到错误 下面是一个示例脚本 我没有提到为变量 a 和 fne 赋值而执行的命令 但是 bin bash for f in path do a some command output