在单个别名中添加多个命令

时间:2019-09-06 21:04:54

标签: bash shell

我只想为多个命令使用一个别名。

例如,我希望通过单个别名为mkdir和cd提供一个别名。

我试图制作一个脚本来执行此操作,但是它不会执行第二个命令。

#!/bin/bash

mkdir -p $1
cd $1

该脚本的名称为mkd.sh

并通过别名(例如

)调用上述脚本
alias mkd '~/mkd.sh'

我知道这是非常基础的,我是Linux系统的新手。预先感谢。

2 个答案:

答案 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