我正在使用Windows 10 Linux子系统(Ubuntu Bash)。
我想从Ubuntu Bash访问我的Windows文件夹。
我想访问的文件夹是(注意名称中有空格):
/mnt/c/Users/some folder1/some folder2/destination - folder/
我现在在Bash做的是:
~$ cd /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/
因为目录太深,所以我不想每次都输入long命令。所以我想为该文件夹定义一个别名。
在Bash中,我创建了一个文件~/.bash_aliases
。在文件~/.bashrc
中有以下命令:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
接下来,我想在~/.bash_aliases
中添加以下行:
alias mf=<the correct format of the directory>
定义mf
后,我想使用以下命令切换到目录:
~$ cd mf
你能帮我解决这个问题吗?
1)如何写<the correct format of the directory>
?
2)我还需要做什么才能使用
~$ cd mf
答案 0 :(得分:3)
您可以使用bash中可用的echo "host.example.com: inet 10.242.177.24/24 brd" | awk -F ':| +|/' '{print $1 ", " $4}'
选项(记录在here中)来代替别名。要启用,请将cdable_vars
添加到您的.bashrc中,然后创建一个包含目录路径的环境变量。例如,您可以将其添加到.bashrc
shopt -s cdable_vars
然后您将可以在外壳中使用它,如下所示:
shopt -s cdable_vars
mydir=/really/long/dir/path
答案 1 :(得分:2)
如this page所述,&#34;别名仅在命令开头有意义&#34;。所以你的别名不能成为cd的参数。您可以做的是
alias cdmf='cd /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/'
即。在您的别名中包含cd
命令,以便键入&#39; cdmf&#39;带你到目标目录。
要使用cd mf
,您通常使用符号链接(或bash函数),而不是别名。尝试
ln -s /mnt/c/Users/some\ folder1/some\ folder2/destination\ -\ folder/ mf
但是,它产生的链接仅驻留在当前目录中,因此您无法从任何地方导航到目标目录。