我尝试为我在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