如何向vagrant vm.bashrc文件添加别名
我正在尝试为vm提供一些别名,并一直拒绝许可,不知道这样做的正确方法是: Vagrant文件的结尾(此操作有效):如何向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的问题(我认为这与它的只读文件系统或类似
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)您的评论/我的原始问题中的上述命令最终有效。