0

~/.bash_aliases我想知道是否有任何方法可以通过 Makefile在用户上设置别名。

假设我有一个名为的 bash 脚本foo.sh,它会打印您传递给它的内容。例如:

输入
sh foo.sh bar

输出
bar

现在,在我的 Makefile 上,我想要一个类似的东西:

install:
    @echo "alias foo=sh foo.sh $@" << ~/.bash_aliases

因此,每次用户执行此操作时,make install它都会自动获得foo可用的别名。然后,我们不做最后一个输入,而是有类似的东西:

输入
foo bar

输出
bar

有谁知道是否可以做这样的事情?

提前致谢。

4

2 回答 2

1

您确定要在用户~/.bash_aliases每次运行您的 Makefile 时添加同一行吗?

那些不使用 bash 而是使用另一个 shell 的用户呢,比如zsh

那么其他用户呢?如果管理员键入make install,他们通常希望系统的每个用户都可以使用“安装”,而不仅仅是他们自己。

如果您只关心使您的脚本foo.sh可用foo,那么您可能应该安装一个名为foo.

install:
    $(INSTALL) foo.sh $(bindir)/foo

顺便说一句,Debian 政策要求在没有 .sh 扩展名的情况下安装脚本。我认为这是一个提示,通常不应该使用脚本后缀安装。

于 2013-01-22T08:59:04.717 回答
0

关于什么:

install:
    @echo "alias foo=foo.sh" >> ~/.bash_aliases
于 2013-01-22T04:09:45.120 回答