如何向vagrant vm.bashrc文件添加别名

如何向vagrant vm.bashrc文件添加别名,vagrant,virtualbox,vagrantfile,Vagrant,Virtualbox,Vagrantfile,我正在尝试为vm提供一些别名,并一直拒绝许可,不知道这样做的正确方法是: Vagrant文件的结尾(此操作有效):config.vm.provision:shell,:path=>“provision.sh” 在provision.sh中:echo“alias alias1=\“some command\”>.bashrc 错误:/tmp/vagrant shell:第6行:.bashrc:Read-only file system这最终成为了coreOS的问题(我认为这与它的只读文件系统或类似

我正在尝试为vm提供一些别名,并一直拒绝许可,不知道这样做的正确方法是:

Vagrant文件的结尾(此操作有效):
config.vm.provision:shell,:path=>“provision.sh”

在provision.sh中:
echo“alias alias1=\“some command\”>.bashrc


错误:
/tmp/vagrant shell:第6行:.bashrc:Read-only file system

这最终成为了coreOS的问题(我认为这与它的只读文件系统或类似的东西有关,我应该在问题中提到),我最终将Ubuntu用于我的虚拟机(我只使用虚拟机运行Docker)您的评论/我的原始问题中的上述命令最终起作用。

如果您正在使用,您可以在yml文件中创建一个新的任务角色,例如:

- name: Update bashrc to add foo alias for Vagrant user
  lineinfile:
    dest=/home/vagrant/.bashrc
    line="alias foo='bar'"
    regexp="^alias foo"
    owner=vagrant
    state=present
    insertafter=EOF
    create=True
然后从您的vagrant provision文件中运行ansible脚本(
sudo ansible playbook foo.yml

或者使用
ex
将别名附加到文件末尾:

ex -s +':$s@$@\ralias foo=bar@' -cwq /etc/bash.bashrc

另请参见:在Ex中,CoreOS对此有一些特定问题,因为默认情况下,
~/。bashrc
被符号链接到
/usr
(只读文件夹)

可以使用文件副本替换符号链接,然后进行编辑。在您的
供应中使用类似的方法。sh
可以实现以下目的:

cp $(readlink .bashrc) .bashrc.new && mv .bashrc.new .bashrc
echo "alias alias1=\"some command\"" >> .bashrc

我无法测试,因为我没有CoreOS box,但它应该可以工作

您这样试过吗
echo“alias alias1=\\”some command\”>~/.bashrc
这最终成为了coreOS的问题(我认为这与它的只读文件系统或类似的东西有关,我应该在问题中提到它),我最终将Ubuntu用于我的虚拟机(我只使用虚拟机来运行Docker)您的评论/我的原始问题中的上述命令最终有效。