Bash 脚本错误 [: !=: 需要一元运算符

2023-11-21

在我的脚本中,我试图错误检查第一个也是唯一的参数是否等于-v,但它是一个可选参数。我用一个if声明,但我不断收到一元运算符预期错误。

这是代码:

if [ $1 != -v ]; then
   echo "usage: $0 [-v]"
   exit
fi

更具体:

上面脚本的这一部分正在检查可选参数,然后,如果未输入该参数,则应运行程序的其余部分。

#!/bin/bash

if [ "$#" -gt "1" ]; then
   echo "usage: $0 [-v]"
   exit
fi

if [ "$1" != -v ]; then
   echo "usage: $0 [-v]"
   exit
fi

if [ "$1" = -v ]; then
   echo "`ps -ef | grep -v '\['`"
else
   echo "`ps -ef | grep '\[' | grep root`"
fi

Quotes!

if [ "$1" != -v ]; then

否则,当$1完全是空的,你的测试就变成:

[ != -v ]

代替

[ "" != -v ]

...and !=不是一元运算符(即只能接受单个参数的运算符)。

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

Bash 脚本错误 [: !=: 需要一元运算符 的相关文章

随机推荐

  • PayPal REST API 返回信用卡令牌的 500 服务器错误

    我正在尝试让 PayPal REST api 使用存储在保险库中的信用卡创建付款 但是 每当我尝试使用金库中的卡进行付款时 PayPal 的 API 都会挂起大约半分钟 然后给出以下 500 错误 Exception Got Http re
  • 我在控制器中的辅助方法

    我的应用程序应该呈现 html 以便在用户单击 ajax 链接时进行响应 我的控制器 def create user user User new params if user save status success link link to
  • 在 Node.js 中使用 JSON.stringify 会导致“进程内存不足”错误

    使用 Node 我尝试从 LDAP 服务器收集用户数据 然后将该数据写入 JSON 文件 我使用以下代码来执行此操作 fs writeFile data json JSON stringify data null 4 问题是JSON str
  • iOS 8:键盘扩展。添加弹出按键的问题

    我正在构建我的键盘扩展应用程序 并且当用户点击按钮时 我在按钮上添加了按键弹出动画 它适用于内部图像 但对于顶行图像 弹出区域会在剪辑子视图时被隐藏 我尝试使用 ClipToBound 属性并将其设置为 False 但仍然不起作用 有人知道
  • javascript 在逗号后截断字符串

    我正在寻找一种方法来删除字符串中的逗号及其后面的所有内容 例如 重要 又不那么重要 我想删除 不太重要 有任何想法吗 提前致谢 你可以这样做substring and indexOf str str substring 0 str inde
  • 如何在 Sitecore 中关闭 XHTML 验证?

    如何在工作流程中关闭 Sitecore 6 5 XHTML 页面验证 我正在开发并在尝试发布测试页面时不断遇到问题 因为它们出错了 我更愿意在浏览器中将错误作为堆栈跟踪获取 我不确定在此之前我是否已更改某些内容 但我最近承担了一个将 Sit
  • 刷新物化视图:并发、事务行为

    PostgreSQL 9 3 官方文档REFRESH MATERIALIZED VIEW尚未对其进行详细描述 引述自此blog Postgres 9 3 中的物化视图有一个严重的限制 即在刷新它时使用独占锁 这基本上会阻止在使用来自其父关系
  • Apache Spark 移动平均线

    我在 HDFS 中有一个巨大的文件 其中包含时间序列数据点 雅虎股票价格 我想找到时间序列的移动平均值 我该如何编写 Apache Spark 作业来做到这一点 您可以使用 MLLIB 中的滑动函数 它可能与丹尼尔的答案做同样的事情 在使用
  • git fatal:对象错误:unshallow

    我正在尝试取消浅层存储库 bin git clone shallow since 3 years https github com RobertAudi zsh hooks Cloning into zsh hooks remote Enu
  • 具有透明重定向功能的 PayPal PayFlow Pro - 用户身份验证失败问题/文档

    我在集成和查找当前文档时遇到一些困难 集成PayPal PayFlow 专业版进入我的网站 PayFlow Link 这里有一个类似的问题 https stackoverflow com questions 15808604 result
  • 在 woocommerce 中注册并重定向到登录页面时防止自动登录?

    我正在使用 woocommerce wordpress 设计一个网站 我通过参考将登录和注册页面分开这个解决方案 注册成功后 如何在未登录的情况下将注册页面重定向到登录页面 用户需要使用通过电子邮件发送的用户名和密码登录 我的登录页面是 w
  • 用于构建和查找整数范围集的数据结构

    我有一套uint32整数 集合中可能有数百万个项目 其中 50 70 是连续的 但在输入流中它们以不可预测的顺序出现 我需要 将此集合压缩为范围以实现空间有效的表示 已经使用简单的算法实现了这一点 因为仅计算一次的范围速度在这里并不重要 经
  • 如何使用非官方 Android Market API?

    我正在尝试来自的示例代码here 但我的应用程序崩溃了 我添加了日志记录 发现它崩溃了session flush 所以我删除了那条线 它不再崩溃了 但还没有达到onResult打回来 package com mytest app impor
  • XAML 中的多重绑定作为资源

    是否可以 如果是的话如何 添加多值绑定表达到资源中 我有一个多值绑定 它需要 2 个单独的绑定 并且其中一个绑定中包含转换器参数 我必须使用此绑定到 5 个不同的项目 并且这些绑定标签仅在转换器参数上有所不同 其余一切都一样 我会避免重复多
  • iPhone模拟器可以模拟打电话吗?

    我正在构建一个可以打电话的应用程序 如何在模拟器上测试此功能 我打电话时没有得到回应openURL 当然 这在实际设备上确实有效 还可以知道iPhone当前是否处于通话模式吗 对不起 朋友 您无法在模拟器上签入它 一切顺利
  • 在 R 中使用 geom_密度_2d() 时出错:“stat_密度2d()”中计算失败:带宽必须严格为正数

    在尝试使用 ggplot2 制作测试二维密度图时 我使用了代码片段 ggplot df aes x S1 x y S1 y geom point geom density 2d 我收到错误 计算失败stat density2d 带宽必须严格
  • C++:特殊化成员需要 «template<>» 语法

    我究竟做错了什么 template
  • 您如何构建 Git 存储库工作流程?

    我们已经看过并观看了有关大型分布式团队如何使用 Git 的视频 但是我们这些非分布式团队以及与团队其他成员在办公室工作的人又如何呢 我们应该如何构建我们的存储库和工作流程 想想一直使用 Subversion 或 CVS 作为单点权限的传统办
  • 在 Git 中列出冲突文件的最简单方法是什么?

    我只需要一个简单的列表矛盾的 files 还有比以下更简单的事情吗 git ls files u cut f 2 sort u or git ls files u awk print 4 sort uniq 我想我可以设置一个方便的alia
  • Bash 脚本错误 [: !=: 需要一元运算符

    在我的脚本中 我试图错误检查第一个也是唯一的参数是否等于 v 但它是一个可选参数 我用一个if声明 但我不断收到一元运算符预期错误 这是代码 if 1 v then echo usage 0 v exit fi 更具体 上面脚本的这一部分正