В настоящее время я меняю нашу систему на использование другого сервера для получения файла (файлы, созданные для отслеживания чего-то, а не важного). Эта система основана на java, и код для получения этих файлов использует коммандос Linux. Код для получения этих файлов являются:Команда Linux не работает при смене серверов
session = connection.openSession();
session.execCommand("ls -B -A " + filelocation);
output = new BufferedReader(new InputStreamReader(new StreamGobbler(session.getStdout()), "UTF-8"));
Это тем не менее работать на нашем исходном сервере (x86_64 GNU/Linux), но не работает на «новый» сервер (SunOS 5,10 Generic января). При выполнении этой команды на сервере SunOS я получаю:
ls: illegal option -- B
usage: ls [email protected] [files]
Я далек от хорошо знаком с с командной строкой, и я не написал исходный код. Но вот что я понял
-A, --almost-all Do not list implied . and ..
-B, --ignore-backups Do not list implied entries ending with ~
Есть ли дополнительный способ заставить это работать на сервере SunOS?
EDIT
Проверка каждой строки читать, если line.endsWith ("~");
while ((outputString = output.readLine()) != null) {
if(!outputString.endsWith("~")){
fileList.add(outputString);
}
}
Я думаю, им удастся избежать написания сценариев оболочки. Но при проверке каждой строки, если строка заканчивается на ~, означает ли это, что я должен удалить -B в команде: session.execCommand ("ls -A" + filelocation); ? Ive также отредактировал сообщение для дополнительной информации о кодах, является ли это использование целей с вами? – Jinxen