如何在 Bash 或 Unix shell 中检查字符串中的第一个字符?

2023-12-22

我正在 Unix 中编写一个脚本,其中我必须检查字符串中的第一个字符是否为“/”,如果是,则分支。

例如,我有一个字符串:

/some/directory/file

我希望它返回 1,并且:

[email protected] /cdn-cgi/l/email-protection:/some/directory/file

返回 0。


有很多方法可以做到这一点。您可以在双括号中使用通配符:

str="/some/directory/file"
if [[ $str == /* ]]; then echo 1; else echo 0; fi

您可以使用子字符串扩展:

if [[ ${str:0:1} == "/" ]] ; then echo 1; else echo 0; fi

或者正则表达式:

if [[ $str =~ ^/ ]]; then echo 1; else echo 0; fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Bash 或 Unix shell 中检查字符串中的第一个字符? 的相关文章

  • .join() 方法到底是做什么的?

    我对 Python 还很陌生 并且完全困惑 join 我读过的是连接字符串的首选方法 I tried strid repr 595 print array array c random sample string ascii letters
  • Javascript:删除字符串标点符号并拆分成单词?

    抱歉 如果之前有人问过这个问题 但我正在尝试从这样的字符串中获取单词数组 Exclamation Question Quotes Apostrophe Wasn t Couldn t Didn t 该数组应该看起来像这样 exclamati
  • 如何从 JavaScript 中的字符串中删除空白字符?

    如何从 JavaScript 中的字符串中删除空白字符 修剪很容易 但我不知道如何将它们从inside字符串 例如 222 334 gt 222334 您可以使用正则表达式 如下所示来替换所有空格 var oldString 222 334
  • 获取变量的名称作为输入并使用该名称更改变量

    我从脚本用户那里获取变量的名称作为第一个参数 并将该变量的值回显到控制台 bin bash variablename 1 echo The value of variablename is variablename 这太棒了 我无法开始工作
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 为什么在连接两个字符串时 Python 比 C 更快?

    目前我想比较 Python 和 C 用来处理字符串的速度 我认为 C 应该比 Python 提供更好的性能 然而 我得到了完全相反的结果 这是 C 程序 include
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 如何使用正则表达式将字符串分成相同字符的组?

    我有一个这样的字符串 var string AAAAAAABBBCCCCCCDD 并喜欢将字符串分割成这种格式的数组 same characters gt same group 使用正则表达式 Array AAAAAAA BBB CCCCC
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • [APUE]fork后父进程和子进程是否共享相同的文件偏移量?

    在 APUE 第 8 3 节中fork function 关于父子进程之间的文件共享 它说 It is important that the parent and the child share the same file offset 在
  • 改变字符串颜色

    好的 这是我上一个问题的延续 但我有代码 private void btnTrans Click object sender EventArgs e var abrvStr inputBx Text foreach var kvp in d
  • bash中的用户名、密码程序

    我有一个程序 要求用户输入用户名和密码 然后将其存储在文本文件中 第一列是用户名 第二列是密码 我需要一个命令 在用户输入用户名和新密码时替换密码 如下我拥有的 bin bash admin menu Register User echo
  • .NET 字符串.替换

    我很生气 通常 我喜欢像 C 中那样进行替换 但是是否有一种 C 风格的替换 它一次仅替换一个字母或我指定的 X 数量 不 BCL 中不存在仅替换字符的单个实例的 Replace 方法 两个主要的 Replace 方法将替换所有出现的情况
  • 如何使用JavaScript估算字符串的磁盘大小?

    我需要尝试估计DISKJavaScript 中文本字符串 可以是原始文本或图像 音频 等的 Base64 编码字符串 的大小 我不知道如何估计这个 当谷歌搜索时我唯一能找到的是 length所以我想 StackOverflow 上也许有人知
  • 是否有 java.lang.String 的内存高效替代品?

    看完之后这篇旧文章 http www javaworld com javaworld javatips jw javatip130 html page 2测量几种对象类型的内存消耗 我惊讶地发现有多少内存String在Java中的使用 le
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • 递归检查字符串中的所有字母是否都是大写

    我必须检查递归中所有字母是否都是大写字母 我不知道为什么这不起作用 public static bool IsCapital string str if str Length 1 return int Parse str 0 ToStrin
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 监视目录的更改

    很像一个类似的问题 https stackoverflow com questions 112276 directory modification monitoring 我正在尝试监视 Linux 机器上的目录以添加新文件 并希望在这些新文

随机推荐

  • 拒绝访问 .tmp 路径

    我正在尝试使用 DotNetZip 库压缩文件 我正在从文件中读取路径并将 zip 保存到该文件 但程序崩溃并抛出 这是我的代码 using ZipFile zip new ZipFile zip AddDirectory dir OUTP
  • 访问绑定源列值

    如何使用代码更新绑定源中的列值 我正在尝试类似的事情 CustomersBindingSource AddNew CustomersBindingSource Current CustomerID Guid NewGuid 此代码当前错误指
  • 在 Angular 2 中使用 SOAP 服务

    我想知道是否有人可以建议或向我指出网络上有关我的 Angular 2 应用程序如何使用 SOAP 服务的任何资源 不幸的是 这是一个遗留应用程序 因此目前没有 REST 替代方案 蒂亚 您可以查看这个 SOAP 客户端服务 https gi
  • 如何让内容占据100%的高度和宽度

    我已经很接近了 但我无法让它像我想要的那样工作 我试图让标题和菜单始终可见 并使内容占据视图屏幕的其余部分 并在溢出时拥有自己的滚动条 问题是内容的宽度没有被拉伸到右侧 并且我在页面中间出现了一个滚动条 我也无法让它占据剩余窗口高度的其余部
  • 智能指针作为多态性的类成员

    我是智能指针的新手 如果有人能给我提示我作为类成员处理智能指针的方式是否正确 我将非常感激 更准确地说 我想要实现的解决方案是在类多态性的背景下实现的 并且理想情况下应该是异常安全的 Given a 异构对象的容器 http www par
  • 来自 BLL 中的一种方法的跨多个 DAL 方法的事务

    您将如何从业务逻辑层中的一个方法调用数据访问层中的多个方法 以便所有 SQL 命令都存在于一个 SQL 事务中 每个 DAL 方法都可以从 BLL 中的其他位置单独调用 因此不能保证数据层方法始终是事务的一部分 我们需要此功能 因此如果数据
  • @StringRes、@DrawableRes、@LayoutRes等android注解lint检查与kotlin参数

    假设您有这样的带有默认参数的数据类 data class Info DrawableRes val iconRes Int 0 StringRes val stringRes Int 0 LayoutRes val layoutRes In
  • 无法解析符号“RequestQueue”

    我是 android studio 和 volley 库的新手 所以请耐心等待 我通过 GitHub 添加了 volley 库 然后添加了这一行来构建 gradle 文件 compile com android support appcom
  • 查找对象数组中最后一个匹配的对象

    我有一系列对象 我需要获取最后一个对象的对象类型 本例中为 形状 将其删除 然后找到数组中具有相同类型的前一个对象的索引 例如 形状 var fruits shape round name orange shape round name a
  • JSP中页面

    我收到了一项向 HTML 页面 JSP 添加功能的任务 该页面仅来自设计师 前端开发人员 因此在某些地方我需要更改a href to button or input但这会造成混乱 所有设计都改变了 这是一段代码 div class col
  • 如何绘制三列数据的热图

    我有三列文件 500 万行 它像是 x y z 3 4 6 7 9 4 7 8 X 和 y 是像素编号 z 是 x y 处的对应值如何绘制热图 二维图是我最初想法的妥协 你可以查看我的原帖如何使用 scipy interpolate 中的
  • 去打印大量

    我目前正在做 Go Lang 教程 准确地说是 数字常量 示例代码以以下语句开头 const Create a huge number by shifting a 1 bit left 100 places In other words t
  • 使用here()函数向上一级目录

    我想让这里的函数在开始下降目录级别之前上升一个级别 例如 我的项目位于目录 parent project root 中 因此here 将此视为默认目录 我想在 parent other dir 中读取一些数据 我需要传递什么参数到here
  • Elasticsearch:嵌套查询中的脚本字段

    有没有办法在嵌套查询中使用 script fields 将字段添加到返回的inner hits 例子 nested inner hits path companies score mode sum query script fields o
  • joblib中的batch_size和pre_dispatch到底是什么意思

    从这里的文档https pythonhosted org joblib parallel html parallel reference documentation https pythonhosted org joblib paralle
  • 编译器会优化转义内循环吗?

    我的代码如下所示 显示了完成的所有用法 bool done false for int i 0 i lt big i for int j 0 j lt wow j if foo i j done true break if done bre
  • TinyIoC:在单个实例上注册多个接口

    Autofac 允许使用 AsImplementedInterfaces 或链式 As 调用与 SingleInstance 轻松地将多个接口解析为同一实例 这也可以用 TinyIoC 来完成吗 我只找到了如何注册同一接口的多个实现 但没有
  • 持久存储的核心数据错误

    我正在尝试使用核心数据从模型加载简单数据并将其放入表视图中 这是我的持久存储的以下代码 AppDelegate m NSPersistentStoreCoordinator persistentStoreCoordinator if per
  • 返回 JSF 页面上的图像列表

    我有一个用户可以从中选择的项目的下拉列表 视图是 JSF 我希望在用户从下拉列表中选择一个项目后 图像出现在同一个 JSF 页面上 即用户从下拉列表中选择单词 Cat 并且出现一组不同的猫图像 我该如何在 JSF 中编写此代码 注意 我使用
  • 如何在 Bash 或 Unix shell 中检查字符串中的第一个字符?

    我正在 Unix 中编写一个脚本 其中我必须检查字符串中的第一个字符是否为 如果是 则分支 例如 我有一个字符串 some directory file 我希望它返回 1 并且 email protected cdn cgi l email