Вопрос про цикл в линукс
cat $* | while read line
Как понять, до захода в цикл, что это последняя строчка в файле и что на следующем заходе будет обрабатываться второй параметр скрипта?
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
Вы склеили файлы вместе а потом пытаетесь их расклеить. Вложите два цикла:
#!/bin/bash
for f in "$@" ; do
echo $f
while IFS= read -r line; do
echo "| $line"
done < "$f"
done
$ ./temp.sh Temp.java temp.sh Temp.java | import java.util.*; | import javax.script.*; | | public class Temp { | public static void main(String[] args) throws ScriptException { | ScriptEngineManager manager = new ScriptEngineManager(); | ScriptEngine engine = manager.getEngineByName("JavaScript"); | String expression = new Scanner(System.in).nextLine(); | System.out.println(engine.eval(expression)); | } | } temp.sh | #!/bin/bash | for f in "$@" ; do | echo $f | while IFS= read -r line; do | echo "| $line" | done < "$f" | done