在 Bash/ZSH 和其他 shell 中,我习惯使用&&和||。
Fish 中是否有任何等价物?
在fish shell 中,实际的命令行以语法高亮显示:

有没有办法在 bash 中获得相同的行为?
有类似的东西,但对于 zsh,而不是 bash。这有可能移植到 bash 吗?
为那些不理解所提供的屏幕截图、解释或链接的人澄清:我想突出显示在终端输入的实际文本。命令、括号、引号等。
对于 Bash/ZSH,我有~/.profile一些导出、别名和其他东西。
我不想为 Fish 的环境变量单独配置,我想重新使用我的~/.profile. 如何?
在常见问题解答中,据说我至少可以通过 导入它们/usr/local/share/fish/tools/import_bash_settings.py,但是我真的不喜欢为每个 Fish 实例运行它。
Fish的自动完成功能给我留下了深刻的印象。但是,我在 Fish 中找不到 Bash 中的一项功能。当您在 Bash 中按Ctrl+R并开始输入一个术语时,系统会.bash_history以相反的顺序对您进行搜索以查找匹配项。
Fish 中是否有类似的功能?
我已经使用 bash 十多年了,并且已经习惯于能够输入 !$ 来重复最后一个参数,例如:
$ mkdir foo
$ cd !$
cd foo
Run Code Online (Sandbox Code Playgroud)
(最后一行是由 shell 打印出来的,告诉你你的命令的计算结果)。同样,我经常对以下内容:
$ make_sandwich
-bash: make_sandwich: Permission denied
$ sudo !!
sudo make_sandwich
Run Code Online (Sandbox Code Playgroud)
我真的很喜欢鱼壳,但我的肌肉记忆已经很成熟了。鱼有等价物吗?我可以配置 fish 以使用相同的命令吗?
我在 Debian 中使用 fish 作为我的 shell,最近(经过一些升级后)每当我尝试使用命令完成时,我都有:
set: No such file or directory
set: Could not add component /usr/lib/x86_64-linux-gnu/libfm to PATH.
set: No such file or directory
Run Code Online (Sandbox Code Playgroud)
运行这个:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
给我这个:
/usr/lib/x86_64-linux-gnu/libfm /usr/local/bin /usr/bin /bin /usr/local/games /usr/games
Run Code Online (Sandbox Code Playgroud)
在我的系统中没有/usr/lib/x86_64-linux-gnu/libfm,所以我明白为什么鱼在抱怨,但我找不到如何从我的$PATH变量中删除这条路径。
有谁知道我该怎么做?
我正在使用 OS X El Capitan (10.11.3) 的 MacBook 上使用 Ruby 2.x 和 Rails 4.x,使用鱼壳,采用此页面上列出的集成:RVM -鱼壳(集成)
当执行各种命令如rvm version,rvm install ...,rvm use ...,rvm --default ...等,收到以下错误消息:
/var/folders/2w/zhgybz7d25s1gdy41qdxwp48001gfh/T/rvm.fish.Pqd0CuZRJW: shell_session_update: command not found
Run Code Online (Sandbox Code Playgroud)
快速 Google 搜索不会返回任何可以帮助我识别和/或解决问题的相关结果,因为它已经解决了我的许多其他开发设置问题。
我在rvm.fish函数文件中、.config/fish目录下以及$HOME/.rvm/bin/rvm主可执行文件中进行了快速文本搜索,但没有看到诸如shell_session_update在该文件中直接调用之类的命令。
有谁知道为什么会这样,我该如何解决?我是一个喜欢修复我面前的东西的人,所以只有我需要采取行动的东西出现在我面前,所以我想删除这个错误/警告信息。:)
PS 我试图安装和使用的特定 Ruby 版本 (2.0.0) 似乎运行正常,即使在同一个终端 (iTerm(2)) 会话中,无需重新启动它。我已经关闭了那个并创建了一个新的终端会话,并且在运行上述各种命令时仍然看到该消息出现。
Ubuntu 中的 sudo 不断向我询问每个命令的密码。以前,我只需要输入一次密码,然后就会记住一段时间。这最近发生了变化,可能是在“升级”到 Natty 之后。
我已经完成sudo visudo并设置Defaults env_reset, timestamp_timeout = 60,尝试重新启动,但它仍然无法正常工作。我该如何解决?
经过以下建议,我/etc/sudoers看起来像这样:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults:endolith timestamp_timeout=60
# Host alias specification
# User alias specification
# Cmnd alias specification …Run Code Online (Sandbox Code Playgroud) 是否可以将鱼壳与 cygwin 一起使用?我无法在 cygwin 中编译源代码,也没有找到任何预编译包。在 cygwin 中没有鱼有充分的理由吗?