AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 708590
Accepted
nalzok
nalzok
Asked: 2022-07-05 08:21:41 +0800 CST2022-07-05 08:21:41 +0800 CST 2022-07-05 08:21:41 +0800 CST

Fish shell 在选项卡完成时报告“数学:错误:缺少运算符”

  • 772

今天早上我注意到了这个错误,但我认为我昨晚没有改变任何东西,所以我现在很困惑。也许我更新了我系统上的一些实用程序,它以某种方式破坏了向后兼容性。基本上我math: Error: Missing operator在使用制表符完成时出错。

假设我输入fish,然后点击Tab以获取类似fish_configand的建议fish_add_path(这是一个 asciinema 截屏视频,以防您想看到它的实际效果:https ://asciinema.org/a/L3xr32eVMGHuCY0Gjr19gFzCu )

[I] ~ $ fishmath: Error: Missing operator
'Wed Dec 31 18:00:00 CST 1969 - 1655913830'
 ^
[I] ~ $ fish_config
fish                                                                               (command)
fish_add_path
fish_breakpoint_prompt
fish_clipboard_copy
…and 29 more rows

选项卡完成确实有效,但错误看起来很烦人。看起来我正在尝试评估数据字符串或其他东西。如何诊断错误?


我在 macOS Monterey 上。这是我的~/.config/fish/config.fish。

set -px PATH /opt/local/bin /opt/local/sbin
set -px PATH $HOME/.local/bin
set -px PATH $HOME/bin
set -px PATH /Applications/MacPorts/Alacritty.app/Contents/MacOS
set -px PATH $HOME/Foreign/drawterm
set -px PATH $HOME/google-cloud-sdk/bin

set -x XDG_CONFIG_HOME $HOME/.config
set -x PIPENV_VENV_IN_PROJECT 1
set -x PLAN9 /usr/local/plan9

set -px PATH $PLAN9/bin

if test -e $HOME/.config/fish/sensitive.fish
    source $HOME/.config/fish/sensitive.fish
end

if status is-interactive
    # Commands to run in interactive sessions can go here
    alias vi='/opt/local/bin/nvim'
    set -gx EDITOR /opt/local/bin/nvim
    source /opt/local/share/fzf/shell/key-bindings.fish
end

set -g fish_key_bindings fish_hybrid_key_bindings

alias matlab='/Applications/MATLAB_R2021b.app/bin/matlab -nodisplay'

zoxide init fish | source

direnv hook fish | source

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/qys/google-cloud-sdk/path.fish.inc' ]; . '/Users/qys/google-cloud-sdk/path.fish.inc'; end
shell command-line
  • 2 2 个回答
  • 126 Views

2 个回答

  • Voted
  1. Best Answer
    nalzok
    2022-07-05T10:25:54+08:002022-07-05T10:25:54+08:00

    删除该行后错误消失set -px PATH $PLAN9/bin。我想这是因为我不小心将一些系统实用程序与来自 User Space 的 Plan 9中的对应项隐藏了起来。

    另一种解决方法是set -ax PATH $PLAN9/bin改用。通过使用-a,目录$PLAN9/bin被附加到$PATH(而不是在使用时附加-p),因此已经存在的命令$PATH优先于计划 9 中的命令。

    • 4
  2. faho
    2022-07-07T02:35:02+08:002022-07-07T02:35:02+08:00

    这里发生的是 fish 尝试完成命令,并尝试通过调用apropos.

    在 macOS 上,这非常慢,因为 Apple 的沙盒会破坏 whatis 数据库。

    因此,fish 改为添加自己的缓存,并且该缓存每周更新一次。

    仅检查该日期,它运行:

    set age (math (date +%s) - (/usr/bin/stat -f %m $whatis))
    

    给出格式说明符以获取 unix 纪元date。+%s

    您已经覆盖date了(典型的)超极简Plan 9 版本,它不接受格式参数,因此它最终打印了一个完整的日期,这使得数学表达式格式错误。

    一般来说,fish 假设有一个相当标准的 unix 用户空间,因此预先添加 Plan 9 工具(不是)是一个坏主意。

    • 1

相关问题

  • 使 mysql CLI 以交互方式向我询问密码

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • grep -v grep 有什么作用

  • 没有服务器的命令行 pub/sub?

  • 如何将带有〜的路径保存到变量中?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve