在ubuntu 18.10上,我遇到了一个简单脚本的问题。
如果我直接从shell执行此命令,它将起作用:
drush -y rsync @d8.live:web/sites/default/files @self:sites/default --delete -vv
如果我使用以下命令创建一个.sh脚本:
#!/bin/bash
drush -y rsync @d8.live:web/sites/default/files @self:sites/default --delete -vv
脚本不起作用,drush
命令向我返回错误:
“-delete”选项不存在。
命令和脚本从同一目录和同一用户运行。
问题出在哪里?
PS:“ drush
”是执行docker-compose命令的包装器
[编辑]
$ type -a drush
drush ha "drush --strict=0" come alias
drush è /usr/local/bin/drush
$ cat /usr/local/bin/drush
#!/bin/bash
cd $PWD
docker-compose -p example exec --user 82 php drush $@
答案 0 :(得分:2)
别名不会在脚本中扩展。如果希望脚本在命令行中包含--strict=0
,则必须在脚本中明确声明。
答案 1 :(得分:0)
如此处所述:
$ type -a drush
drush ha "drush --strict=0" come alias
drush è /usr/local/bin/drush
drush命令位于PATH环境变量中。
现在,请确保/ usr / local / bin文件夹是您的`PATH变量的一部分,例如通过:
$ tr : "\n" <<<$PATH | grep usr.local.bin
/usr/local/bin