bug*_*bug 3 shell directory path symlink files
为了快速移动,我添加了一个指向 CDPATH 的路径,其中包含指向不同位置的符号链接。我通过将以下行添加到 .bashrc 来做到这一点:
export CDPATH=~/symlinks
Run Code Online (Sandbox Code Playgroud)
使用目录时,一切正常,我可以从任何地方访问符号链接文件夹。
例如,如果我这样做:
$ ln -s ~/path/to/folder ~/symlinks/folder
Run Code Online (Sandbox Code Playgroud)
然后我可以写:
$ cd folder
Run Code Online (Sandbox Code Playgroud)
进入符号链接文件夹,无论我当前的目录如何。
但是,当我创建一个文件的符号链接,然后尝试使用编辑器打开它时,我会得到一个空文件,除非我在符号链接目录中。
例如,如果我这样做:
$ ln -s ~/path/to/file/filename ~/symlinks/filename
Run Code Online (Sandbox Code Playgroud)
然后写:
$ kwrite filename
Run Code Online (Sandbox Code Playgroud)
如果我不在符号链接文件夹中,我会得到一个空文件。
我想从任何地方访问该文件,我该如何实现?
简单的答案是你不能。
CDPATH 所做的是,如果您键入“cd 文件夹”,它首先会检查您的 CDPATH 中是否存在“文件夹”;如果没有,它将检查您当前所在的文件夹。但这特定于目录更改;kwrite 不检查 CDPATH 和 AFAIK 没有配置选项使其在任何特定目录中查找。
您可以做的是制作一个小的 shell 脚本来替换 kwrite,如下所示:
#!/bin/sh
FILE=$1
if [ -f "$HOME/symlinks/$FILE" ]
then
kwrite "HOME/symlinks/$FILE"
else
kwrite "$FILE"
fi
Run Code Online (Sandbox Code Playgroud)
然后运行脚本(您可以将其命名为例如“akwrite”)而不是直接运行 kwrite。
归档时间: |
|
查看次数: |
570 次 |
最近记录: |