标签: fish

如何让与 Homebrew 一起安装的 Fish shell 和 NVM 一起工作?

我正在尝试尽可能多地使用 Homebrew 管理我的 OSX 包。我已经使用 Homebrew 安装了 Fish Shell 和 NVM,但无法让 Fish 识别我的 NVM 安装。使用 Bash 运行时,NVM 命令运行良好,可能是因为当您使用 Homebrew 安装 NVM 时,它让我在我的 .bashrc 文件中添加了一些额外的行。

使用 Homebrew 安装 NVM 后,它说:

Add NVM's working directory to your $HOME path (if it doesn't exist):

mkdir ~/.nvm

Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Run Code Online (Sandbox Code Playgroud)

此外,Homebrew 安装脚本似乎已将此行添加到我的 ~/.profile

source /usr/local/opt/nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)

我希望可以对 Fish 使用相同的技术来访问 NVM 安装,但我似乎无法让它工作。

我发现了这种技术:https : //github.com/passcod/nvm-fish-wrapper 但我宁愿不必包装 NVM。

任何人都可以帮忙吗?

bash homebrew fish node.js macos

10
推荐指数
2
解决办法
7461
查看次数

在鱼配置中添加缩写

我想使用fish shell的缩写功能,特别是对于已知的bash变量!!或常见git命令的别名。我知道可以像以下代码段一样添加缩写:

abbr -a gco git checkout

我也知道此设置保存在位于 的文件中.config/fish/fishd.host,但该文件还表示不应编辑它,因为更改可能会丢失(因为该文件是自动生成的)。

所以我的问题是如何在配置文件中添加这个缩写,因为我想把我的点文件放在一个 git 存储库中。如果我在单独的机器上使用这些点文件,我不想abbr再次执行所有这些命令。

shell fish

9
推荐指数
2
解决办法
5559
查看次数

在 Mac 中为 Fish 重用 .bash_profile

我在我的 Mac 上使用 iTerm 并且我有一个我一直很舒服地使用的 .bash_profile。我最近了解了 fish bash 并将其安装在我的 Mac 上,突然间我的 .bash_profile 没有来源。关于为什么我看不到它的任何想法?

我如何指示我的 iTerm 和 fish 获取我的 .bach_profile ,就像以前没有鱼一样?

mac terminal bash iterm fish

8
推荐指数
2
解决办法
1万
查看次数

测试git目录和git分支的正确而快速的方法?

在尝试设置我的新鱼壳提示时,我最终测试了获取分支名称的方法,并测试了我是否在 git 存储库上。我发现(1) git rev-parse --abbrev-ref HEAD , (2) git symbolic-ref HEAD | sed 's/refs\/heads\///'(3) git describe --contains --all HEAD可以很好地解决问题。

我很好奇,因为我喜欢(1)的简单性,但是在一个新的和未受影响的(只是git inited)存储库上,它给了我一个“致命的:”错误,而(2)按预期工作,也就是说,给了我一个默认作为输出。问题是,即使出现“致命:”错误,返回码也是 0。这是预期的行为吗?

为了测试我是否在 git 存储库中,我最终只是测试当前目录是否有一个“.git”文件夹:test -d ".git". 基本的解决方案,但它有效,而且似乎比使用任何 git 命令都要快。

所以,我的问题是:

  1. 那个“fatal:”和(1)不应该返回一个不同于 0 的退出代码吗?如果确实是一个错误,因为我不知道 git 人们如何标准化他们的返回代码,我应该在哪里报告它?
  2. 我知道如果我重定向(1)^ /dev/null(对于那些不知道的人,^与 相同2>),我不会得到错误,但它会说HEAD而不是 master,但如果我cat .git/HEAD,我得到:ref: refs/heads/master。它真的应该说什么?随着master我只是无知和挑剔,因为它应该不是说HEAD?我的意思是在刚刚git …

shell git prompt fish

7
推荐指数
1
解决办法
5791
查看次数

为什么不建议将 root 用户的默认 shell 设置为非 POSIX shell?

我要将我的 root 的默认 shell 从 bash 更改为 fish。据我所知,fish 不是 POSIX 标准外壳。另一方面,可能系统中的内核或其他东西与 POSIX 标准有关系,因此不建议将 root 的默认 shell 设置为非 POSIX 的 shell,因为这可能会导致操作系统的某些部分出现问题。我看到有人在某些主题上建议其他人不要将 root 用户的默认 shell 设置为非 POSIX 的 shell!这样对吗?

我是否应该将 root 的默认 shell 更改为非 POSIX 的 shell?(如果你能解释清楚,我会很高兴,我是类 Unix 世界的新手!)

linux bash shell posix fish

6
推荐指数
1
解决办法
869
查看次数

Fish Shell - 找不到将“la”定义为“ls -la”的位置

在我的 Mac 和 Ubuntu 上,当我在 Fish Shell 中输入“la”时,我收到的输出与“ls -la”的输出相同。我想我可能已经将它定义为一个函数。但是,我找不到“la”被定义为别名、缩写或函数。

我检查了 .config/fish/functions、fish.prompt.fish、config.fish、which 以及 Fish 文档和命令。

我错过了什么?关于“la”可以在哪里定义有什么想法吗?

fish

6
推荐指数
1
解决办法
801
查看次数

将当前时间添加到鱼提示前面的最简单方法是什么?

我想在鱼提示符中查看当前时间,以便我始终可以看到例如何时启动最后一个命令。我不想安装扩展。

shell prompt fish

6
推荐指数
1
解决办法
2464
查看次数

我如何要求“fish”枚举它正在读取配置的所有位置?

当我开始时fish,我希望它打印它正在读取配置、配置文件和自定义的每个位置,以便我可以:

  • 了解如果我想保留我的 shell 体验,需要备份哪些特定路径,以及
  • 确定变量和颜色的设置位置

这可能吗?如果可能的话,如何实现?

shell fish

6
推荐指数
1
解决办法
1209
查看次数

如何在鱼壳中进行字符串操作

如何在 Fish shell 中进行 bash 样式的字符串操作?

具体来说,在 bash

read branch < ".git/HEAD"
branch=${branch#ref: refs/heads/}
Run Code Online (Sandbox Code Playgroud)

将分支名称放在$branch变量中。

我如何在鱼壳中做同样的事情?

我浏览了鱼的文档,但没有找到任何东西。

string-manipulation fish

5
推荐指数
2
解决办法
3828
查看次数

更改命令行提示符?

我的提示非常冗长 - 这在大多数情况下都很好 - 但现在我想暂时切换它,因为我想制作终端的屏幕截图。为此,我不想深入研究配置文件,而是将提示快速设置为诸如“>”之类的简短内容,然后恢复它。

鱼壳可以吗?

fish

5
推荐指数
1
解决办法
6079
查看次数

标签 统计

fish ×10

shell ×5

bash ×3

prompt ×2

git ×1

homebrew ×1

iterm ×1

linux ×1

mac ×1

macos ×1

node.js ×1

posix ×1

string-manipulation ×1

terminal ×1