2010-05-26 4 views
1

мне нужно запустить эту команду в Groovy, когда нажмите на кнопкузаводной команда Баш

Баш copy.txt> copy.log

Я попытался с Execute, но не получилось.

Может ли один помочь мне, пожалуйста,

заранее спасибо шри ..

+1

Это, вероятно, поможет много, если вы немного более конкретно о том, что вы пытаетесь сделать, и то, что вы уже пробовали, прежде чем просить о ТАК. – xlson

ответ

0

The > является оператором оболочки и должен быть запущен в оболочке. Попробуйте это, он может работать:

sh -c 'bash copy.txt > copy.log' 
+0

Привет, Делан, я так старался, но не повезло. Я не нашел copy.log в своей папке. def test = "sh -c 'bash /home/srinath/Desktop/copy.txt> copy.log'" test.execute(). благодаря – srinath

0

В Баш вы Usally сделать

cat copy.txt > copy.log 

Если вы не предположить, что copy.txt это сценарий оболочки. Но я думаю, что не в соответствии с расширением, которое вы даете.

2

Я предполагаю, что вы пытаетесь скопировать файл copy.txt в copy.log в той же папке. Существует несколько «чистых» способов Groovy, но вы можете сделать это, используя собственные вызовы linux следующим образом.

Пример: ['/bin/sh', '-c', 'cat copy.txt > copy.log'].execute().consumeProcessOutput(System.out, System.err)

Отлич- путь: new File('copy.log') << new File('copy.txt').text

Смежные вопросы