我尝试为我在shell脚本编写过程中经常使用的路径设置“别名”。我尝试了一些方法,但是失败了:

myFold="~/Files/Scripts/Main"
cd myFold

bash: cd: myFold: No such file or directory

我该如何运作?
但是,cd ~/Files/Scripts/Main有效。

最佳答案

由于它是一个环境变量(别名在bash中具有不同的定义),因此您需要使用以下方法对其进行求值:

cd "${myFold}"

要么:
cp "${myFold}/someFile" /somewhere/else

但实际上,如果您只想轻松切换到该目录,则可以轻松地创建一个真实的别名(在bash这样的.bashrc启动文件中),因此我可以保存击键:
alias myfold='cd ~/Files/Scripts/Main'

然后,您可以使用(不使用cd):
myfold

要摆脱定义,可以使用unalias。以下记录显示了所有这些操作:
pax> cd ; pwd ; ls -ald footy
/home/pax
drwxr-xr-x 2 pax pax 4096 Jul 28 11:00 footy

pax> footydir=/home/pax/footy ; cd "$footydir" ; pwd
/home/pax/footy

pax> cd ; pwd
/home/pax

pax> alias footy='cd /home/pax/footy' ; footy ; pwd
/home/pax/footy

pax> unalias footy ; footy
bash: footy: command not found

10-07 19:38