Что касается сценария оболочки - PullRequest
1 голос
/ 16 марта 2010

У меня есть строка ниже в сценарии оболочки Unix. Я хочу исключить test.jar в WEB-INF / lib, добавляемый в CLASSPATH. Как я могу это сделать?

for file in WEB-INF/lib/*jar ; 

do


CLASSPATH=$CLASSPATH:$PWD/$file

done

Ответы [ 5 ]

2 голосов
/ 16 марта 2010
for file in WEB-INF/lib/*jar;
do
if [ $file != "WEB-INF/lib/test.jar" ]; then
CLASSPATH=$CLASSPATH:$PWD/$file
fi
done

Я не пробовал.

1 голос
/ 16 марта 2010
#!/usr/bin/bash
shopt -s extglob
for file in WEB-INF/lib/!(test).jar
do
  CLASSPATH="$CLASSPATH:$PWD/$file"
done
0 голосов
/ 16 марта 2010
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=":")
0 голосов
/ 16 марта 2010

Что-то вроде

#!/bin/sh
...
PWD=`pwd`
for file in `ls $PWD/WEB-INF/lib | grep *.jar | grep -v test.jar`
   CLASSPATH=$CLASSPATH:$file
end
0 голосов
/ 16 марта 2010
PWD=$(pwd)

for file in WEB-INF/lib/*jar ; do
    [ "$file" != "test.jar" ] && {
        CLASSPATH="${CLASSPATH}:${PWD}/${file}"
    }
done

Код между фигурными скобками вводится только в том случае, если file не «test.jar», подстройте его под свои нужды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...