假设我想为某些命令创建别名(例如ls命令)
到目前为止,我已经完成了:
class alias{
exec { "alias1":
command => "alias aliasname='ls'",
user => root,
}
}
我将这些行添加到site.pp:
执行{path => “/ USR / BIN”}
包含别名
它说“无法找到命令'别名'”。所以我不确定为什么它不起作用。我这样做完全错了吗?或者还有其他方法可以制作这样的别名吗?是的,我真的很擅长这个:)
答案 0 :(得分:2)
Alias是内置的shell,不存在于PATH中。别名仅对当前会话有效,因此即使您的命令有效,它也只会为执行的shell设置别名,然后退出(从而再次取消设置别名)。持久化别名的方法是将它们写入shell在启动时读入的文件。
您应该使用puppet stdlib中的文件/模板或file_line
。
/etc/profile.d/可以是一个放置内容的好地方,如果你想让别名全局(适用于所有人)。如果不是 .bashrc 效果不错(尽管有一个使用单独文件的惯例 .alias / .bash_alias )。
答案 1 :(得分:1)
这是错的。要求为〜/ .bashrc或/etc/profile.d/youname.sh添加别名定义 别名是bash的命令所以需要call command => “bash -c \”alias aliasname ='ls'\“”,