我只想为多个命令使用一个别名。
例如,我希望通过单个别名为mkdir和cd提供一个别名。
我试图制作一个脚本来执行此操作,但是它不会执行第二个命令。
#!/bin/bash
mkdir -p $1
cd $1
该脚本的名称为mkd.sh
并通过别名(例如
)调用上述脚本alias mkd '~/mkd.sh'
我知道这是非常基础的,我是Linux系统的新手。预先感谢。
答案 0 :(得分:2)
它确实执行第二个命令,但是它在子shell中执行。当退出子外壳程序时,它将返回到父外壳程序的目录。
您想要的是一个函数,该函数在当前shell的环境中执行。试试:
mkd() { mkdir -p $1 && cd $1; }
别名不能接受参数,因此它们对您所需的内容没有用。您可以使用类似mkd newdir
的名称来调用上述内容。如果您在.bashrc
中定义了此选项,那么它将在以后的所有新会话中使用。
答案 1 :(得分:0)
将此添加到.bashrc
runMKD() {
mkdir -p $1;
cd $1;
}
alias mkd=runMKD