首页 > 解决方案 > Bash 脚本;x.sh 脚本中的别名命令

问题描述

我正在尝试使用 bash 编写一个简单的脚本,该脚本必须采用两个变量:名称和命令;然后在“别名”命令中应用这两个变量,如下所示:别名 $1=$2。

这是一个在线学校活动,教授 bash 脚本的介绍。

我想出的是:

function doalias {
alias $1=$2
}

doalias $1 $2

接下来我要做的是在终端中写入 ./doalias.sh inst "sudo apt-get install"。

现在我从 bash 终端得到的消息是“=”未被识别为命令。为什么会这样,我该如何解决?

标签: bash

解决方案


在执行别名命令时,您需要将传递的参数放在引号中,因此:

function doalias {
  alias "$1=$2"
}

doalias "$1" "$2"

要在当前 shell 中设置别名,您需要获取脚本,因此:

source doalias.sh inst "sudo apt-get install"

推荐阅读