从 Bash 函数返回布尔值

2023-12-31

我想编写一个 bash 函数来检查文件是否具有某些属性并返回 true 或 false。然后我可以在我的脚本中的“if”中使用它。但我应该返回什么?

function myfun(){ ... return 0; else return 1; fi;}

然后我像这样使用它:

if myfun filename.txt; then ...

当然这是行不通的。如何才能做到这一点?


使用 0 表示 true,1 表示 false。

Sample:

#!/bin/bash

isdirectory() {
  if [ -d "$1" ]
  then
    # 0 = true
    return 0 
  else
    # 1 = false
    return 1
  fi
}


if isdirectory $1; then echo "is directory"; else echo "nopes"; fi

Edit

从@amichair的评论来看,这些也是可能的

isdirectory() {
  if [ -d "$1" ]
  then
    true
  else
    false
  fi
}


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

从 Bash 函数返回布尔值 的相关文章

  • UNIX 统计时间格式

    是否可以格式化 stat 的时间输出 我在用 stat c n A z filename 在 bash 脚本中 但它的时间格式不是我想要的 是否可以在命令中更改此格式 或者我必须稍后手动执行此操作 示例输出如下 lib drwxr xr x
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 静默检查 bash 脚本中是否存在 rpm

    我正在尝试使用 if 语句快速检查 rpm 是否安装在 bash 脚本中 但我想默默地做 目前 当我运行脚本并且 rpm 确实存在时 它将 rpm 的输出输出到我不想要的屏幕 if rpm qa grep glib then do some
  • Bash for Windows 10 gcc 不会编译粘贴到根目录中的 c 文件

    正如标题所示 如果我将在其他地方编写的c文件粘贴到Linux子系统的根目录中 则无法编译它 我做了一个测试 我制作了两个不同标题的 hello world 程序 一个在 vi 中 我可以从 bash 界面进入 另一个在其他地方 当我编译了
  • GIT 和 Ruby:如何从 ruby​​ 脚本内部取消设置 GIT_DIR 变量?

    我编写了一个非常简单的 部署 脚本作为我的post update挂钩到我的裸 git 存储库中 变量如下 live domain mydomain com staging domain stage mydomain com git repo
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • Jenkins:如何在 Windows 从机中执行 shell 脚本

    我有一个 Windows 从机 安装了 bash 我正在尝试在其上运行 shell 脚本作为预构建步骤 关于我如何做到这一点有什么想法吗 您需要使用脚本作为参数来运行 bash bash yourscript
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如
  • Python 3.6 shell 中可点击的 html 链接?

    比如说 我有一个充满 html 链接的列表 看起来像这样 https www nytimes com 2017 05 19 realestate they can afford to buy but they would rather re
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • Eclipse 的 Bash 脚本插件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有正经的bashEclipse 的插件 我唯一的要求是语法突出显示 我用谷歌搜索过 但没有看到任何
  • 使用简单数据结构在 Bash 脚本中进行深度优先搜索

    我正在尝试按照上面所述进行操作 我相对容易地设计了广度优先搜索 该脚本的目标是创建用户输入的具有一定深度和广度的目录结构 我正在尝试改变广度优先实现以支持深度优先搜索 这是我得到的 depthsearch local open seed l
  • 使用awk将列中的值替换为txt文件中的另一个值

    我是 Linux 和 awk 脚本编写的新手 我有 tab delim txt 文件 如下所示 AAA 134 145 Sat 150 167 AAA 156 167 Sat 150 167 AAA 175 187 Sat 150 167

随机推荐

  • 将 GridView 绑定到 Dynamic 或 ExpandoObject 对象

    我正在使用 Rob Conery 的 Massive ORM 但无法绑定结果ExpandoObject to a GridView 我确实发现了另一个 Stackoverflow 问题 建议使用一个名为 impromptu 的框架 但我不确
  • 如何在运行时动态创建控件

    我试图根据正在查看的特定工作表上的列数在 Excel 用户窗体中创建可变数量的控件 组合框 理想情况下 我想在运行时删除现有的并创建新的 而不是创建 100 个左右 然后在可见和不可见之间来回切换 我现在所拥有的将创建一个组合框和循环 但它
  • 已在 StoreKit 中购买订阅

    我在 iOS 应用程序的应用程序购买中使用可更新订阅 当用户尝试购买已付款的订阅时 iTunes 会显示一条消息 您当前已订阅此内容 我如何检测此事件何时发生 以便我可以处理交易并授予对我的应用程序的访问权限 在观察者的 paymentQu
  • 将 IS 上的所有 DTS 包导出到文件系统的脚本

    是否有一个脚本可以将 Integration Services 服务器上的所有 DTS 包导出到一个文件系统路径 即 C DTSPackages 目前 如果脚本存在 右键单击 选择导出 选择文件系统的任务似乎有些多余 但我发现的只是显示存在
  • 当我们有复合索引时,是否需要普通的MySql索引

    我们的 MySql 表有 2500 万行 以下是表中的列 c id c name s id l type l time message domain 其中 我们在 c id c name s id l type domain 列上有正常索引
  • 暴露 net.tcp 端点

    我对如何在 WCF 中公开端点有点困惑 我有一个 tcp 端点和一个 mex tcp 端点
  • 如何使用 jQuery 在页面加载时关注表单输入文本字段?

    这可能非常简单 但是有人可以告诉我如何在页面加载时让光标在文本框上闪烁吗 将焦点设置在第一个文本字段上 input text visible first focus 这也执行第一个文本字段 但您可以将 0 更改为另一个索引 input ty
  • 无法运行 H2o 功能

    我能够很好地安装 h2o 在 R 中 但是当我运行 h2o init 时出现以下错误 h2o init H2O 尚未运行 现在开始 值错误 3L 您有 32 位版本的 Java H2O 在 64 位 Java 上运行效果最佳 请从以下网址下
  • 使用 BS4“lxml”抓取 XML 数据

    尝试解决与此非常相似的问题 使用 beautifulsoup 抓取 XML 元素属性 https stackoverflow com questions 37968565 scraping xml element attributes wi
  • AngularJS Masonry 用于动态改变高度

    我有点击时会展开和收缩的 div Masonry 库对于初始化页面非常有效 我遇到的问题是 通过 Masonry 和下面的指令进行绝对定位 当 div 展开时 它们会与下面的 div 重叠 我需要将扩展 div 下面的 div 向下移动以处
  • 我可以在 Jquery 中组合变量和选择器吗?

    假设我有这个 HTML div class top top div class middle middle div class bottom bottom div middle div top div div class middle ou
  • 是否有 Android 测试服务可以用来为我提供来自设备的真实调试信息? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • .Net矩阵[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • jQuery UI Datepicker:对齐下面的标签问题

    http jsfiddle net r7D2x http jsfiddle net r7D2x 我正在尝试在标签上使用 jQuery Datepicker span 而不是输入字段 这是代码 javascript placeholder d
  • 无法使用 Python/opencv 关闭/打开 CameraCapture:设备或资源繁忙

    当我尝试使用 Python 重新打开 opencv Camera Capture 时 我得到 libv4l2 error setting pixformat Device or resource busy HIGHGUI ERROR lib
  • rvm在centos 5.5上安装1.8.7-head错误

    我在 CentOS 5 5 上以 root 身份成功安装了 rvm 然后我尝试安装 ruby 1 8 7 head rvm 安装 1 8 7 head 并收到这样的错误 将 Ruby 从源代码安装到 usr local rvm rubies
  • 未找到 vtkRenderer/ vtkRenderWindow 的覆盖

    我是 vtk 的新手 当我运行一个小示例时 它会生成两个错误 找不到 vtkRenderer 的覆盖 找不到 vtkRenderWindow 的覆盖 我用谷歌搜索了这个问题 但找不到合适的解决方案 当我尝试在没有 CMake 的情况下创建
  • python 只记录到文件

    我有一个运行 python 脚本的 cronjob 我添加了一个logging但由于这是一项日常工作 我每天都会收到有关其功能的电子邮件 这真的很烦人 但我似乎找不到一个设置 这将使其仅记录到日志文件中 usr bin python imp
  • 使用“__dict__”或“vars()”?

    内置功能vars 对我来说看起来更像Pythonic 但我明白了 dict 使用更频繁 Python 文档表明它们是等效的 一位博主声称 dict 比vars http pythondoeswhat blogspot com 2012 01
  • 从 Bash 函数返回布尔值

    我想编写一个 bash 函数来检查文件是否具有某些属性并返回 true 或 false 然后我可以在我的脚本中的 if 中使用它 但我应该返回什么 function myfun return 0 else return 1 fi 然后我像这