在sh / ksh文件中出现奇怪的错误

时间:2012-01-12 15:36:49

标签: linux shell unix jar ksh

我有以下sh脚本 -

YUI_PATH=www/code/build/b2b_dev/yuicompressor-2.3.5.jar
DIR=www/code/build/b2b_dev/build/web

cd $DIR
echo $DIR

for i in `find . -name *.js -o -name *.css`
do
   echo $i
   ${WAS_DIR}/java/jre/bin/java -jar $YUI_PATH -o $i $i
done

echo "All js and css files recursively within $dir have been compressed!"

当我运行此文件时出现此错误 - /www/code/build/b2b_dev/yuicompressor-2.3.5.jar is not found.

但是我把这个罐子放在正确的位置,尽管我得到了这个错误。

可以任何机构弄清楚我为什么会收到此错误,因为我没有这样做.. :(

1 个答案:

答案 0 :(得分:1)

问题是您的脚本会更改为目录www/code/build/b2b_dev/build/web。然后它试图寻找jar www/code/build/b2b_dev/yuicompressor-2.3.5.jar  相对于当前目录而无法找到它。

我建议改用绝对路径。

示例:

BASE_DIR=/full/path/to/www/code/build/b2b_dev
YUI_PATH=${BASE_DIR}/yuicompressor-2.3.5.jar
DIR=${BASE_DIR}/build/web

如果必须使用相对路径,请更改为:

DIR=www/code/build/b2b_dev/build/web
YUI_PATH=../../yuicompressor-2.3.5.jar