获得测试:在shell脚本中检查目录的存在时,有太多参数错误

时间:2016-04-28 10:51:09

标签: bash shell unix sh

我正在尝试编写用于提取product_name文件的shell脚本。我需要首先检查如果不存在相同的目录,则提取product_price文件。否则做其他事情。下面是我的shell脚本。

sales_bestsellers_aggregated_daily

我在第<script src="http://localhost:35729/livereload.js"></script>

收到错误gulp.task("sass", function() { return gulp.src(paths.sass) .pipe(sass()) .on("error", sass.logError) .pipe(gulp.dest(outDir)) .pipe(cleanCSS({ compatibility: "ie8" })) .pipe(rename({ extname: ".min.css" })) .pipe(gulp.dest(outDir)) .pipe(livereload()); }); gulp.task("watch", ["compile"], function() { livereload.listen(); gulp.watch(["./src/**/*.scss", "./src/**/*.ts", "!./src/lib/**"], ["clean-min-sources"]); gulp.watch(["./src/**/*", "!./src/**/*.ts", "!./src/**/*.scss"], ["copy-assets"]); gulp.watch(["./src/**/*.*"]); });

2 个答案:

答案 0 :(得分:1)

使用test时,您可能不需要使用[],因为它在评估期间会隐式调用space。开放式大括号[后还包括if [ ! -d "$LOGSTASH_FOLDER" ];

test

您可以通过以下方式明确使用if ! test -d "$LOGSTASH_FOLDER" 命令,尝试

{{1}}

答案 1 :(得分:0)

如果&#34; $ HOME&#34;它有任何空格,并且没有引用(因为它在给定的代码中),这将导致有问题的错误。建议改变:

INSTALL_DIR=$HOME/Test/LogShipper
...
LOGSTASH_FOLDER=$HOME/Test/LogShipper/logstash
...
mkdir -p $INSTALL_DIR
...
cd $INSTALL_DIR

要:

INSTALL_DIR="$HOME"/Test/LogShipper
...
LOGSTASH_FOLDER="$HOME"/Test/LogShipper/logstash
...
mkdir -p "$INSTALL_DIR"
...
cd "$INSTALL_DIR"