我在unix shell脚本中有以下行。我想在添加到CLASSPATH的WEB-INF / lib中排除test.jar。我该怎么办?
for file in WEB-INF/lib/*jar ;
do
CLASSPATH=$CLASSPATH:$PWD/$file
done
答案 0 :(得分:2)
for file in WEB-INF/lib/*jar;
do
if [ $file != "WEB-INF/lib/test.jar" ]; then
CLASSPATH=$CLASSPATH:$PWD/$file
fi
done
我没试过。
答案 1 :(得分:1)
#!/usr/bin/bash
shopt -s extglob
for file in WEB-INF/lib/!(test).jar
do
CLASSPATH="$CLASSPATH:$PWD/$file"
done
答案 2 :(得分:0)
PWD=$(pwd)
for file in WEB-INF/lib/*jar ; do
[ "$file" != "test.jar" ] && {
CLASSPATH="${CLASSPATH}:${PWD}/${file}"
}
done
仅当file
不是'test.jar'时才输入大括号之间的代码,根据您的需要进行调整。
答案 3 :(得分:0)
像
这样的东西#!/bin/sh
...
PWD=`pwd`
for file in `ls $PWD/WEB-INF/lib | grep *.jar | grep -v test.jar`
CLASSPATH=$CLASSPATH:$file
end
答案 4 :(得分:0)
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=":")