我正在使用此脚本在'sites'目录的每个子目录中运行命令,排除'all'子目录。但是,当我运行它时,'all'子目录仍在使用,即使我使用if语句来排除它。
for dir in ~/htdocs/drupal/drupal/sites/*
do
if [ $dir = "/local/users/drupadm/htdocs/drupal/drupal/all" ]
then
continue
fi
echo $dir
(cd $dir && /opt/webstack/php/5.2/bin/php /local/users/drupadm/drush/drush.php $1)
done
布赖恩
答案 0 :(得分:5)
您遗漏了sites
子目录:
if [ "$dir" = /local/users/drupadm/htdocs/drupal/drupal/sites/all ]
答案 1 :(得分:0)
IFS=$'\n'
for dir in `find ~/htdocs/drupal/drupal/sites/ -maxdepth 1 -type d ! -name all -printf '%p\n'`
do
echo $dir
(cd $dir && /opt/webstack/php/5.2/bin/php /local/users/drupadm/drush/drush.php $1)
done
IFS=' '
首先排除该目录,使用find!
由
调用find dir_name [tests...]
我的命令使用的测试:
-maxdepth 1
直系孩子......
-type d
...找到目录......
! -name all
......未命名为“全部”。
答案 2 :(得分:-1)
您好,您需要执行以下操作
if [$ dir ==“/ local / users / drupadm / htdocs / drupal / drupal / all”]
由于
答案 3 :(得分:-1)
尝试引用$ dir,你会很好的名字中有空格的目录会杀了你。您还可以在调用上使用-vx开关运行脚本,以查看读入的内容和执行的内容。 bash -vx我的脚本 要么 设置-vx 不管。