首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >fish shell可以在if语句中进行通配符的填充吗?

fish shell可以在if语句中进行通配符的填充吗?
EN

Stack Overflow用户
提问于 2018-11-14 09:31:33
回答 1查看 759关注 0票数 1

我很难理解是否可以在fish中的if语句中使用通配符。此开关/情况按预期工作:

代码语言:javascript
运行
AI代码解释
复制
# correctly echos macOS on macOS
switch "$OSTYPE"
    case 'darwin*'
        echo 'macOS'
    case '*'
        echo 'not macOS'
end

但是,我无法获得相同事物的if语句版本。

代码语言:javascript
运行
AI代码解释
复制
# doesn't work - prints 'not macOS' on macOS
if [ "$OSTYPE" = 'darwin*' ]
    echo 'macOS'
else
    echo 'not macOS'
end

在zsh/bash中,您可以这样做:

[[ $OSTYPE == darwin* ]] && echo 'macOS' || echo 'not macOS'

或者,更详细地说,

代码语言:javascript
运行
AI代码解释
复制
if [[ $OSTYPE == darwin* ]]
  then echo 'macOS'
  else echo 'not macOS'
fi

我的问题是,fish是否支持针对if语句中的变量进行通配符珠化?我做错了吗?我在鱼的文档中找不到任何一个例子来告诉我。

注意:__:我不是在问检查鱼的$OSTYPEhttps://stackoverflow.com/questions/26258244/is-there-a-way-to-detect-os-in-fish-shell-akin-to-the-ostype-variable-in-bash。我的问题严格地限制在fish中是否可以在if语句中进行通配符珠化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 09:37:41

不是的。

像你说的那样使用switch,或者使用string内置的

代码语言:javascript
运行
AI代码解释
复制
if string match -q 'darwin*' -- "$OSTYPE"

if并不重要-在您的示例中运行的命令是[,它是test的另一个名称,它是http://fishshell.com/docs/current/commands.html#test (或man testhelp test)文档的内置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53305808

复制
相关文章
Fish Shell使用
Shell 有好几种,目前最常用是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好用。我现在就是iTerm2结合Fish使用。
码客说
2019/10/22
1.8K0
Fish Shell
今天看到阮一峰同学的一篇博客(Fish shell 入门教程),讲述的非常详细、清楚,有兴趣的可以直接转去查看此文,本文仅提供一下个人使用心得。 一、fish shell 想必接触过类unix(包括windows的dos)的人对shell应该都不陌生。shell对于提高工作效率有非常大的帮助,但是繁杂的语句及命令使得shell使用起来较麻烦。图形化界面方便一般人的操作,但是效率不够高。fish shell兼顾了二者的优点,对shell进行了改进,使之更方便使用。具体介绍见fish shell 二、安装 在其
魏守峰
2018/04/28
1.3K0
Fish Shell 命令补全
记录一下 complete 各个参数含义。 -c 要补全的命令 -p 命令路径 -e -s 短参数 -h -l 长参数 --help -o old style long option -a 添加子命令 -f 不列出文件 -r -x -f and -r -w -n 函数 -CSTRING -C -A -u -d 描述 complete -- edit command specific tab-completions Synopsis complete ( -c | --command |
康怀帅
2018/02/28
1.4K0
为什么要用fish shell
什么是fish,Fish又称为Friendly shell for interactive use。Fish设计之初能兼容其他shell的命令, 并且会比其他shell更友好而且又高效。在一些特性上,fish做了改进,这和其他shell比如bashl是有区别的。体现在一些标识符,一些命令扩展和易用上。
mariolu
2020/02/20
2.4K0
Fish Shell 安装配置
fish-shell GitHub:https://github.com/fish-shell/fish-shell oh-my-fish GitHub:https://github.com/oh-my-fish/oh-my-fish 两个都安装,具体编译安装查看项目 README.md 文件 配置 所有配置建议在 ~/.config/fish/config.fish 中进行。以下命令中,前边加 $ 的在终端中输入命令,不加的写入配置文件中 环境变量env 通过 set -x 命令设置环境变量 只对当前 s
康怀帅
2018/02/28
2.2K0
Fish shell 入门教程
命令行是程序员的必备技能。图形界面虽然好看,解决问题还是要靠命令行。 命令行由 Shell 提供。各种命令通过 Shell,传递给操作系统的内核。学习命令行就是在学习 Shell。 Shell 有好几
ruanyf
2018/04/13
1.1K0
Fish shell 入门教程
shell中if语句_shell脚本if判断
语法格式 ♦ if空格条件测试 then 命令序列 fi if加空格加一个条件测试,如果这个条件测试结果为真 那么就执行then后面的命令序列,这个命令序列可以是一条命令也可以是多条命令 只要条件测试为真,那么then后面的所有命令都会被执行,直到下一个fi代表if语句结束 如果if语句后面的条件测试失败,那么then后面的所有命令不再被执行
全栈程序员站长
2022/09/23
2.2K0
shell中if语句_shell脚本if判断
shell中的if判断语句怎么写_shell编程if语句格式
当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功
全栈程序员站长
2022/09/23
2.5K0
shell中的if判断语句怎么写_shell编程if语句格式
shell注入----通配符绕过
前两天刚看到的,记录一下。 shell注入:Shell注入是一种安全漏洞,攻击者通过在命令行或脚本中插入恶意代码来利用这个漏洞。这通常发生在应用程序将用户提供的输入直接传递给shell命令而未进行充分验证和转义时。
cultureSun
2023/05/18
8550
Mac shell(fish) javac 中文乱码
通过用户的环境变量(~/.bash_profile)去改.写入文件.bash_profile  vim ~/.bash_profile
obaby
2023/02/23
5250
如何安装、配置和运行Fish Shell
Fish的全称是Friendly Interactive Shell,是一种替代性的shell,马上就可以使用,并可以提供自动建议,用已安装的手册页就可编程完成,是一种功能齐全、可读的脚本语言,并支持彩色文字。
好烟
2018/08/15
2.9K0
如何安装、配置和运行Fish Shell
fish 设置环境变量;fish shell 相关使用说明记录;
如果配置所有用户都能用的环境变量,可以在 /etc/fish/config.fish 文件中进行配置;
西湖醋鱼
2020/12/30
2.8K0
shell中if elif_shell编程if语句格式
在对if-elif-else分支进行数值判断时, 发现一个奇怪的现象: 如果使用test conditon(即[ condition ])进行判定,当第一条if条件为假时, 无论代码中的elif语句条件是否为真, 都输出elif分支下的语句; 查看输出结果, 发现输出结果显然与期望值不一样
全栈程序员站长
2022/09/23
4270
shell中if elif_shell编程if语句格式
在shell里面嵌套expect命令语句
1.在/bin/bash脚本内使用expect命令格式如下 示例: #!/bin/bash expect <<! #在bash脚本中嵌套 expect 命令以 <<! 开始 此处为expect命 #中间为需要执行的 expect 命令 ! #在bash脚本中嵌套 expect 命令以 ! 结束 2.一个简单的脚本嵌套expect例子 #!/bin/bash d1=$(date "+%Y-%m-%d") /bin/expect <<! #expect命令的
染指流年
2023/03/13
1.1K0
Shell 脚本中执行mysql语句
    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。
Leshami
2018/08/13
7K0
【shell脚本】$ 在shell脚本中的使用
注释:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数
码缘
2019/07/01
6.4K0
shell if语句
if 语句格式 单分支结构 #第一种 if <条件表达式> then 指令 fi #第二种 if <条件表达式>; then 指令 fi 实例1 #/bin/bash read -p "请输入两个整数:" a b if (( $a == $b )) then echo "两个数相等" fi 双分支结构 if <条件表达式> then 指令1 else 指令2 fi 示例2 #第一种写法 #!/bin/bash read -p "请输入两个整数:" a b if [ $# -ne 2
云计算小黑
2022/12/28
1870
shell if语句
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157419.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/18
1540
shell if语句
shell IF语句的使用[通俗易懂]
如果你在用shell完成一些逻辑判断的时候,可能会用到if…else之类的条件语句。但是,shell中非同寻常的语法会让你每次都需要在网上重新查询确认。在shell中,即使是一些标点符号,通常也有自己的含义。现在列举下if条件语句中一些基础语法。
全栈程序员站长
2022/09/14
4690
Shell-alias在Shell脚本中的使用
众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias别名扩展成对应的命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH中均没有与alias别名同名的命令,则shell会找不到指定的命令。
小小工匠
2021/08/16
2.4K0

相似问题

fish shell可以处理if语句中的if语句吗?

11

fish语句中的fish shell -eq和-a

29

在fish shell中自动展开补全吗?

14

在fish shell中,如何使用通配符和变量来迭代文件?

20

在没有fish解析的fish shell中解析参数

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档