- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是2.1.0版本
$ set a foo
$ set b bar
$ echo $a_$b
$ echo {$a}_$b
foo_bar
为什么第一个“echo”没有输出任何东西?我本以为会看到“酒吧”
最佳答案
首先要意识到下划线在标识符中是有效的,所以被展开的变量不是$a
而是$a_
。
现在 $a_
未设置,这意味着它被视为零条目列表。不带引号的变量替换通过为列表中的每个元素单独扩展参数来工作,例如:
> set a 1 2 3
> echo {$a}_x
1_x 2_x 3_x
在原题中,$a_
为空。该参数为列表中的每个元素单独扩展,这是空的,所以结果什么都没有。这就是它什么都不输出的原因。
双引号扩展的工作方式不同:列表条目由空格连接,然后扩展。
> set a 1 2 3
> echo "$a"_x
1 2 3_x
这可能更符合您的预期:
> set a foo
> set b bar
> echo "$a"_"$b"
foo_bar
> echo "$a_"$b
bar
关于fish - fish shell 中意外缺乏变量扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20136470/
为了对 fish 提示进行一些小的更改,我修改了 ~/.config/fish/目录中的 fish_prompt.fish/fish_right_prompt.fish 文件,但这并没有改变任何东西。
在 Fish 中是否有可能以我将命令定义为 echo 等命令的单个参数的方式执行命令替换?在 Bash 中,它等同于例如: $ echo "$(cat file.txt)" lorem ipsum F
所以,我真的很喜欢 Fish - 但我需要一些脚本方面的帮助。 尤其是找到正在运行的脚本的路径。 这是BASH的解决方案 Getting the source directory of a Bash
我正在从 ZSH 迁移到 Fish,我唯一没弄清楚的是我的 c功能: 函数/c: #!/bin/sh cd "$PROJECTS/$1" 函数/_c: #compdef c _files -W $PR
快速提问。是否可以通过在 fish 中编写脚本来定义新命令?我想按照以下方式编写一个新命令: newFunction --flag1 flag1Input --flag2 flag2Input the
我从 fish 开始,我在大量文档中找不到的其中一件事是自动完成提要。 提到了 Tab Completions在本教程中,但它解决了机制本身的存在,而不是它的配置。 我有一堆通过 连接的虚拟机 mac
在 bash shell 脚本,我通常会运行 :> file清空文件。 现在使用fish,情况略有不同,上面的命令不起作用。 什么是 fish 当量? 最佳答案 虽然没有:那么短, true是一个可以
我已经仔细阅读了fish shell 文档,我正在尝试弄清楚如何在fish 函数中有条件地设置局部变量。 换句话说,如果您有一个函数,并且希望使用 if-then-else 逻辑修改局部变量。 fun
如果我将一个名为 myfunc.fish 的文件放在名为 functions 的目录中,并且它包含一个名为 myfunc 的函数,那么如果我将 myfunc 作为命令键入,fish 将找到它。 如果我
我在不同的地方(家庭网络、云……)有无数台机器,我在每台机器上都使用了fish。问题是每次更改其中的内容时我都必须同步它们的配置。 有没有办法从远程存储库加载配置? (= 存储它的地方,不一定是 gi
我有一个包含多个项目的目录,我想对每个项目运行一些命令。 现在我正在做的是: cd /my/project/root set root (pwd) for p in * cd $p git r
有another question关于测试特定 字符串的命令替换。我想测试一个命令是否在单个语句中输出任何内容,即等同于: if [[ -n "$(foo)" ]] 在庆典中。 Fish 无法识别 [
我想在 fish 中添加一个带有空格的别名,如下所示: alias hello there 'print hello there' 这有可能吗? (我知道这个例子是无效的,我只是举个例子)。 提前致谢
我想将字符串重定向到命令的 STDIN 中。 我会使用类似 cmd <<< "my string" 的东西来做它在 Bash 中,甚至 cmd <
如何使 ~/.config/fish/config.fish 中定义的别名和~/.config/fish/functions 中定义的函数root 用户也可以使用吗? 符号链接(symbolic li
my-fish-script a b c d 假设你想从第二个参数开始获取所有参数,所以 b c d . 在 bash 中,您可以使用 shift转储第一个参数并使用 "$@" 访问其余参数. 你将如
Fish是否可以根据您所在的目录自动加载其他配置? 一个可能的例子,但是显然这是行不通的。您导航到项目文件夹: cd ~/my_proj 该文件夹中有一个名为.fish.config的文件,其中包含一
我查看了 Stack Overflow 上的所有类似问题,并在他们的文档中尝试了很多东西。我目前的尝试如下。 我想要完成的是基于计算机用户的不同行为。我有一台工作电脑和一台家用电脑,当我在命令行中输入
这是2.1.0版本 $ set a foo $ set b bar $ echo $a_$b $ echo {$a}_$b foo_bar 为什么第一个“echo”没有输出任何东西?我本以为会看到“酒
我是 Windows 用户。我正在通过 WSL-2 尝试 Ubuntu。我正在努力在 fish shell 中选择带有箭头键的文本。我尝试了很多地方来回答这个问题,但没有人给我合适的解决方案。在文档中
我是一名优秀的程序员,十分优秀!