2

假设我想为某个命令创建别名(例如 ls 命令)

到目前为止,我已经完成了:

class alias{
        exec { "alias1":
        command => "alias aliasname='ls'",
        user => root,
}
}

我将这些行添加到 site.pp:

执行 { 路径 => "/usr/bin"}

包括别名

它说“找不到命令'别名'”。所以我不确定为什么它不起作用。我这样做完全错了吗?或者有没有其他方法可以制作这样的别名?是的,我真的很陌生:)

4

2 回答 2

2

Alias 是一个内置的 shell,并不存在于 PATH 中。别名仅对当前会话有效,因此即使您的命令有效,它也只会为已执行的 shell 设置别名然后退出(从而再次取消设置别名)。持久化别名的方法是将它们写入 shell 在启动时读取的文件。您应该使用文件/模板或file_line来自 puppet 标准库。

/etc/profile.d/ 如果你想让别名全局化(每个人都可以使用),这可能是一个放置东西的好地方。如果不是.bashrc工作得很好(尽管有使用单独文件.alias / .bash_alias的约定)。

于 2013-11-06T20:58:39.640 回答
1

这是错误的。需要将别名定义添加到 ~/.bashrc 或 /etc/profile.d/youname.sh 并且别名是 bash 的命令,因此需要调用命令 => "bash -c\"alias aliasname='ls'\"",

于 2013-11-06T20:37:14.390 回答