Intereting Posts
Перенаправить скрипт stderr и stdout в файл, но сохранить stdout в tty? Графическое исправление ошибок? Исправленный файл op оставил тень «почти drag-n-drop» файла, как его удалить? Какова процедура приостановки в KDE? diff без включения удаленного контента Может ли rpm вызывать внешний скрипт, хранящийся где-то в пакете во время установки? Замените пробелы в начале строки на "-" Может ли написать stdout место противодавления в процессе? Как заставить рысь распознавать пробелы в именах файлов Может ли кто-то запустить вредоносное ПО, просто вставив флеш-диск? while цикл работает только один раз? «Неожиданный конец файла», возвращенный из скрипта BASH Зачем нужна работа с `| less` быть остановлен, а другой без него работает? Sed удаляет все начальные совпадения шаблонов из строки Почему / var / www / html доступен для записи только root (по умолчанию)? xbindkeys на одной клавиатуре?

захватить вывод из Java

Я пытаюсь сделать это:

#!/bin/bash set out=$(java -jar -Xmx1024m myJava.jar '$1' '$2' '$3' '$4') echo "$out" python myPython.py $out 

но безуспешно … Я пытался с и без кавычек (потому что я аргументирую пробелы) Мой $ out все еще пуст. Когда я делаю это в моем приглашении, он работает хорошо:

 $ out=$(java -jar -Xmx1024m ./myJava.jar "my first arg" "the second" "16/08/2018" "today") $ echo $out 0.0713471058122825407821210319525562226772308349609375;-0.113426821667920230130022218872909434139728546142578125;-0.07482244404633091316991766461796942166984081268310546875;-0.00013298701298701301443637434740452363257645629346370697021484375;-0.00013298701298701301443637434740452363257645629346370697021484375;0;0;-0.06257619772167842542298643593312590382993221282958984375;-0.0012893073228041856785608398894282800029031932353973388671875;-0.005419324847814057342920701643151915050111711025238037109375;-0.004168854454897620055719986709164004423655569553375244140625;-0.0490697081751974295560358996226568706333637237548828125;-0.186613852226874044060167534553329460322856903076171875;-0.07054484590055905279815107178364996798336505889892578125;0.050250353948686043992211125441826879978179931640625;0;-0.0373516921266305590432210692597436718642711639404296875;-0.2356835604020714736162034341759863309562206268310546875;-0.4285714285714286031492292750044725835323333740234375 

Я пытался

 echo java -jar -Xmx1024m myJava.jar '$1' '$2' '$3' '$4' 

и это выглядит хорошо и работает, когда я вставляю это в мою подсказку.

Мой скрипт bash неверен?

Спасибо

Одна проблема состоит в том, что '$1' не будет расширять переменную. Вы действительно собираетесь пройти буквальный знак доллара? Если нет, вы должны написать "$1" в двойных кавычках.

Это подтверждается вашим вторым примером, где вы передаете фактические значения, и это работает.