Shell 规定没有 运行 sed 命令
Shell provision doesn't run sed command
我想 运行 下面的 2 个命令使终端丰富多彩。它们在终端上工作,但在 shell 脚本中不工作。
bootstrap.sh:
#!/usr/bin/env bash
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" ~/.bashrc
. ~/.bashrc
如果我在末尾附加 apt-get update,则只会执行 apt-get update。
[Vagrant 的 shell 配置器][1] 默认以 privileged = true
运行:
privileged (boolean) - Specifies whether to execute the shell script
as a privileged user or not (sudo). By default this is "true".
当您执行 vagrant ssh
时,您以 vagrant
用户身份登录到 VM。
这就是为什么:
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" ~/.bashrc
在 root's
~/.bashrc
中做了更改。
解决方法:执行sed
到vagrant's
主文件夹的.bashrc
:
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" /home/vagrant/.bashrc
你的最终 bootstrap.sh
是:
#!/usr/bin/env bash
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" /home/vagrant/.bashrc
. /home/vagrant/.bashrc
我想 运行 下面的 2 个命令使终端丰富多彩。它们在终端上工作,但在 shell 脚本中不工作。
bootstrap.sh:
#!/usr/bin/env bash
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" ~/.bashrc
. ~/.bashrc
如果我在末尾附加 apt-get update,则只会执行 apt-get update。
[Vagrant 的 shell 配置器][1] 默认以 privileged = true
运行:
privileged (boolean) - Specifies whether to execute the shell script as a privileged user or not (sudo). By default this is "true".
当您执行 vagrant ssh
时,您以 vagrant
用户身份登录到 VM。
这就是为什么:
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" ~/.bashrc
在 root's
~/.bashrc
中做了更改。
解决方法:执行sed
到vagrant's
主文件夹的.bashrc
:
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" /home/vagrant/.bashrc
你的最终 bootstrap.sh
是:
#!/usr/bin/env bash
sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/g" /home/vagrant/.bashrc
. /home/vagrant/.bashrc