我可以在别名中使用source命令吗?

时间:2019-02-08 11:34:59

标签: linux bash shell

我正在尝试创建bash脚本。我希望它们在我当前的外壳中运行,例如,当我创建目录时,我想重定向到新目录,而不必键入cd和新目录的路径。

我所有的脚本都保存在主目录下的bin文件夹中。 这是一个名为test.sh的bash脚本的示例:

sale 0: 1
sale 1: 2
sale 2: 3
sale 3: 4
sale 4: 5

在下面这样的别名中创建别名并使用source命令是一种好习惯吗?

#!/bin/bash

mkdir /path/of/the/directory

cd /path/of/the/directory

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

那绝对好。例如,我的.bashrc中有一个别名,该别名来自.bashrc:

alias rebash='source ~/.bashrc'

答案 1 :(得分:1)

不,绝对没有理由这样做。

这听起来模糊不清,就像您应该创建一个包含代码的函数,而根本没有别名或外部文件一样。

g () {
    mkdir -p /path/of/the/directory
    cd /path/of/the/directory
}

将此内容放入您的.bashrc或类似名称中。也许,如果您希望将其放在单独的文件中,请创建文件$HOME/bin/interactive.bash,然后从source $HOME/bin/interactive.bash中创建文件.bashrc

答案 2 :(得分:0)

如果您在别名中使用source,就很好。

但是,作为一般惯例,您应该在~/.bash_aliases中定义所有别名,并使用~/.bash_profilesource ~/.bash_aliases中提供它们的别名,以便一旦启动新的Shell,它将加载所有可用别名。