bash - 伪造二进制文件的版本号
问题描述
我试图让 fzf 在 Debian buster 发行版的 vim 中工作。Debian buster 中 fzf 的版本是 0.17 但 Vim 包fzf.vim
需要 0.24
在https://github.com/junegunn/fzf.vim/issues/1150#issuecomment-718694488建议了一个临时解决方法,如果调用 fzf 的版本,则使用以下脚本返回 0.24
#!/bin/bash
if [[ "$1" == "--version" ]]; then
echo "0.24.0"
else
/usr/bin/fzf "$@"
fi
所以我将上面的脚本添加到fzf
用户主目录中的一个文件中
polar@localhost:~$ ls
fzf
然后我将 fzf 添加到路径中,所以我有
polar@localhost:~$ echo $PATH
/home/polar/fzf:/home/polar/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
但是,如果我运行fzf --version
,它仍然返回 0.17.5?
解决方案
好像我没有文件的执行权限,现在正在使用
-rwxr-xr-x 1 polar polar 96 Jul 2 10:07 fzf
推荐阅读
- php - 如何在php中将EOT保留在字符串的末尾
- c# - 根据已传递的 Class 自动生成 UI
- javascript - 使用 JavaScript 写入 Firebase 存储会导致“跨源请求被阻止”
- python-3.x - VS Code Python 3-悬停在变量类型上
- node.js - Momentjs 在当前位置获取时间
- regex - 正则表达式删除 -i- 之后的所有内容(使用 -i-)
- python - QPushButton.clicked() 在使用 .ui 表单自动装配时触发两次
- java - 如何为 JTextfield 中的数值设置范围(例如 1 - 20)
- for-loop - for 循环是对引用还是按值操作?
- python - 如何强制 VSCode 使用 Python 3 而不是 Python 2?