【发布时间】:2015-09-21 16:36:16
【问题描述】:
我正在尝试在 .sh 脚本中运行非 shell 脚本命令。
当前代码如下所示:
#!/bin/bash
echo "Enter name of the folder you want to join!"
read folder
cd ~/domains/name/public_html/$folder/sites/default/
echo "enabling u7seven theme!"
drush en u7seven -y;
echo "disabling overlay!"
drush dis overlay -y;
echo "running all-folder script!"
u7d7up all-folder
不是shell代码的代码(服务器上某处的本地脚本是):
u7d7up all-folder
但是,如果我从站点根目录手动调用此函数u7d7up all-folder,它将起作用。
由于我有超过 10 个站点,我想只调用脚本而不手动输入和执行所有这些命令。
【问题讨论】:
-
如果它在 $PATH 中并且是可执行的,你应该可以调用它。否则使用绝对路径或 cd 到它所在的路径。否则这应该有效。您可能想要执行 var=`u7d7up all-folder` 之类的操作来获取 stdout 到变量并评估 $?检查命令的退出信号。
-
您有问题吗?从 shell 脚本运行该命令是否不起作用?如果不能,您可以发布您得到的错误吗?
-
检查 $PATH 是否包含包含 'u7d7up' 的文件夹
-
@Michael
echo $PATH和type u7d7up的输出是什么?