*不扩大报价

时间:2016-02-27 03:08:31

标签: sh quotes

我编写了一个小的shell脚本来将我正在处理的Java项目打包到一个jar文件中并将其复制到我的桌面和我的闪存驱动器(如果已插入)。它看起来像这样:

#!/bin/sh

NAME="ExeFinder.jar"
SRC_DIR="$HOME/Documents/Programs/Java/NetBeansProjects/ExeFinder/src"

javac $SRC_DIR/*.java # compile them in place
cp $SRC_DIR/*.class . # copy them here
rm $SRC_DIR/*.class # remove the ones there

mkdir src # make the dir for the source code
cp $SRC_DIR/*.java src # copy the source files to src

jar cfe $NAME ExeFinder ./*.class src # create the jar file

rm -r src # remove the temporary src; already in the jar
rm ./*.class # ditto for the class files

if [ -d /media/moses/Moses\ 8GB ]; then # if my flash drive is inserted
    cp ExeFinder.jar /media/moses/Moses\ 8GB # copy the jar file to it
fi

cp ExeFinder.jar ~/Desktop # copy it to my desktop
rm ExeFinder.jar # remove the old file

我的问题是:当我在文件上运行shellcheck时,会显示“双引号以防止全局和单词拆分”,并突出显示其中包含*的几行。当我用双引号括起来时,*无法正常展开。虽然没有必要用引号括起来,但我想知道是否,如果是这样,我可以在引号中展开*

0 个答案:

没有答案