aur*_*ura 7 bash ubuntu alias windows-subsystem-for-linux
我正在使用 Windows 10 Linux 子系统 (Ubuntu Bash)。
我想从 Ubuntu Bash 访问我的 Windows 文件夹。
我要访问的文件夹是(注意名称中有空格):
/mnt/c/Users/some folder1/some folder2/destination - folder/
Run Code Online (Sandbox Code Playgroud)
我现在在 Bash 中所做的是:
~$ cd /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/
Run Code Online (Sandbox Code Playgroud)
由于目录太深,我不想每次都输入长命令。所以我想为该文件夹定义一个别名。
在 Bash 中,我创建了一个文件~/.bash_aliases. 文件中~/.bashrc有以下命令:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
接下来,我想在中添加以下行~/.bash_aliases:
alias mf=<the correct format of the directory>
Run Code Online (Sandbox Code Playgroud)
定义后mf,我想使用以下命令切换到该目录:
~$ cd mf
Run Code Online (Sandbox Code Playgroud)
你能帮我解决这个问题吗?
1)如何写<the correct format of the directory>?
2)我还需要做什么才能使用
~$ cd mf
Run Code Online (Sandbox Code Playgroud)
Mik*_*ley 11
cdable_vars您可以使用bash 中提供的选项(在此处记录) ,而不是使用别名。要启用,请添加shopt -s cdable_vars到 .bashrc,然后创建一个包含目录路径的环境变量。例如,您可以将其添加到您的 .bashrc
shopt -s cdable_vars
mydir=/really/long/dir/path
Run Code Online (Sandbox Code Playgroud)
然后您就可以在 shell 中使用它,如下所示:
mike:/home/mike$ cd mydir
/really/long/dir/path
mike:/really/long/dir/path$
Run Code Online (Sandbox Code Playgroud)
正如本页所述,“别名仅在命令开头才有意义”。所以你的别名不能成为 cd 的参数。你能做的是
alias cdmf='cd /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/'
Run Code Online (Sandbox Code Playgroud)
即在您的别名中包含该cd命令,以便输入“cdmf”将您带到目标目录。
要使用cd mf,您通常会使用符号链接(或 bash 函数),而不是别名。尝试
ln -s /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/ mf
Run Code Online (Sandbox Code Playgroud)
但是,此生成的链接仅驻留在当前目录中,因此您无法从任何地方导航到目标目录。
| 归档时间: |
|
| 查看次数: |
6998 次 |
| 最近记录: |