- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 Homebrew 在我的 Mac OS X 上安装了 fish shell。为了将终端应用程序配置为使用 fish shell 而不是 bash shell,我运行了一次 chsh -s/usr/local/bin/fish
来更改我的默认 shell(如brew 安装),然后我将 fish
命令添加到我的 ~/.bash_profile
文件的末尾,以便在每次打开新终端窗口时打开 fish。
我面临的问题是退出时。根据我在其他人的 Mac 计算机上看到的情况,这些计算机以与我相同的方式安装了 fish,键入 exit
将立即关闭窗口,即使 fish 是在 bash 之上运行的。当我尝试同样的事情时,会发生一些非常奇怪的行为。首先,fish shell 不会直接退出终端窗口,我现在必须退出 bash。但是,除此之外,bash shell 处于一种非常奇怪的状态。我在命令中键入的所有字符都不会出现在命令提示符中。另外,如果我按回车键,提示不会像正常情况下那样创建一个新行。
一定有某种我关闭的配置。有什么想法吗?
我发现这个链接似乎可以解决我的问题:http://support.apple.com/kb/ta27005
最佳答案
您可以做两件事:
在 .bash_profile
的末尾使用 exec fish
。这不是在 bash
中将 fish
作为进程运行,而是用 替换
,这样当 bash
的当前实例fishfish
退出时,终端窗口中不再运行任何程序,窗口将关闭。
您可以将您的终端仿真器配置为运行 fish
而不是 bash
,这样就不需要 chsh
。默认情况下,终端窗口仅运行登录 shell 的一个实例。
关于bash - fish shell : Weird exit command behaviour from terminal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19272743/
为了对 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 中选择带有箭头键的文本。我尝试了很多地方来回答这个问题,但没有人给我合适的解决方案。在文档中
我是一名优秀的程序员,十分优秀!