关于Shell脚本
我在unixshell脚本中有下面一行代码。我想排除添加到类路径的WEB-INF/lib中的test.jar。我怎么做关于Shell脚本,shell,unix,Shell,Unix,我在unixshell脚本中有下面一行代码。我想排除添加到类路径的WEB-INF/lib中的test.jar。我怎么做 for file in WEB-INF/lib/*jar ; do CLASSPATH=$CLASSPATH:$PWD/$file done 只有当文件不是“test.jar”时,方可输入大括号之间的代码,并根据需要进行调整。类似 #!/bin/sh ... PWD=`pwd` for file in `ls $PWD/WEB-INF/lib | grep *.ja
for file in WEB-INF/lib/*jar ;
do
CLASSPATH=$CLASSPATH:$PWD/$file
done
只有当文件
不是“test.jar”时,方可输入大括号之间的代码,并根据需要进行调整。类似
#!/bin/sh
...
PWD=`pwd`
for file in `ls $PWD/WEB-INF/lib | grep *.jar | grep -v test.jar`
CLASSPATH=$CLASSPATH:$file
end
我没有试过
#!/usr/bin/bash
shopt -s extglob
for file in WEB-INF/lib/!(test).jar
do
CLASSPATH="$CLASSPATH:$PWD/$file"
done
或
不要那样做。使用shell expansion.jar并将
WEB-INF/lib/
添加到test.jar
。我试图编辑,但代码格式消失。Arav,请不要在所有问题中重复使用“关于Shell脚本”标题。请使用标题说明实际问题。你不会去找医生说“哎哟!”吧?
for file in WEB-INF/lib/*jar;
do
if [ $file != "WEB-INF/lib/test.jar" ]; then
CLASSPATH=$CLASSPATH:$PWD/$file
fi
done
#!/usr/bin/bash
shopt -s extglob
for file in WEB-INF/lib/!(test).jar
do
CLASSPATH="$CLASSPATH:$PWD/$file"
done
shopt -s extglob
CLASSPATH=$CLASSPATH:$(ls !(test).jar|sed "s@^@$PWD/@"|tr "\n" ":"|sed 's/:$//')
CLASSPATH=$CLASSPATH:$(ls !(genre).txt|awk '{$0="'$PWD'/"$0}1' ORS=":")