在 Vagrant shell 配置中创建别名

问题描述 投票:0回答:1

我不明白为什么 Vagrantfile shell 配置脚本中的别名定义不起作用。

这是我的 Vagrantfile(一部分):

config.vm.provision "shell", inline: <<-SHELL
  # this works
  #echo 'alias pa="php artisan"' >> ~/.bash_aliases && source ~/.bash_aliases

  # this doesn't
  alias pa="php artisan"
  
  # in order to be able to do this
  pa migrate --seed
SHELL

如果我通过 SSH 连接到来宾并创建一个带有 alias="command" 的别名,我可以立即使用该命令。但是从 shell 脚本执行相同的操作是行不通的。

我在这里缺少什么?

shell vagrantfile vagrant-provision
1个回答
0
投票

Fravadona 指出,您不能在非交互式 shell 中使用别名。但你可以创建一个函数。所以,这个解决方案有效:

pa() { php artisan "$@"; }
© www.soinside.com 2019 - 2024. All rights reserved.