как сделать большую командную строку, разбитую на две строки, выполняться как одна строка внутри скрипта

Я очень приветствую Unix. Я использую IBM z / OS390, и я использую оболочку OMVS. У меня вообще нет «vi», поэтому я использую «oedit». Если я попытаюсь инициализировать app.jar straigh из оболочки OMVS, он работает отлично. Я имею в виду, что если я дойду до каталога java и запустим приложение отсюда с помощью двух команд ниже, он работает на 100%.

cd /WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin ./java -cp /usr/my.jar com/com.my_comapny_witt_entire_name/myMain 

Я создал файл сценария через OEDIT и добавил обе строки. Второй был сломан в двух строках. К сожалению, я получаю эту ошибку, очевидно, потому что во время работы вторая командная строка рассматривалась как разница двух строк.

 $ ./script_boot_app Error: Could not find or load main class com.my_comapny_witt_entire_name. /myMain: ./script_boot_app 3: FSUM7351 not found 

Вероятно, если имена пакетов пути и java были меньше, чтобы соответствовать одной строке, этого не произошло. Поэтому мой вопрос: как я могу использовать OEDIT и гарантировать, что несколько строк будут обрабатываться как одна строка точно так же, как и при выполнении команды прямо из оболочки? При наборе текста в оболочке OMVS и в конце строки, естественно, я продолжаю в нижней строке и выполняется как одна командная строка. Как я могу сделать то же самое внутри скрипта, созданного в инструменте OEDIT?

3 Solutions collect form web for “как сделать большую командную строку, разбитую на две строки, выполняться как одна строка внутри скрипта”

cd не требуется. Следующая строка должна сделать то же самое.

 /WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin/java -cp \ /usr/my.jar com/com.my_comapny_witt_entire_name/myMain 

Я сломал командную строку на две строки, используя продолжение обратной косой черты. Не должно быть символов между обратной косой чертой и новой линией для продолжения работы.

Альтернативой является добавление к вам каталога Java bin в переменную PATH перед любыми каталогами, которые содержат java. Команда which java должна указать вам, какая из java будет использоваться.

 PATH=/WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin:$PATH java -cp /usr/my.jar com/com.my_comapny_witt_entire_name/myMain 

Начнем с того, что лучше всегда проверять статус выхода cd , поэтому

 cd /WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin && ./java -cp /usr/my.jar com/com.my_comapny_witt_entire_name/myMain 

cmd1 && cmd2 означает выполнение cmd2 если cmd1 завершается успешно.

Теперь я подозреваю, что ваша проблема заключается в том, что этот скрипт не интерпретируется этой оболочкой OMVS (которая предназначена для оболочки POSIX, поэтому она должна работать при интерпретации этих двух строк).

Или, конечно, это может быть просто из-за этих опечаток ( witt , witt ), поскольку команда java найдена, что подразумевает, что для ее обнаружения есть один в текущем каталоге, а также в /WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin

Просто обратная косая черта

 cd /WebSphere/was85/mycel/mynode/AppServer/java_1.7_64/bin ./java -cp \ /usr/my.jar com/com.my_comapny_witt_entire_name/myMain 
  • filename с новой строкой в ​​списке каталогов Netrw vim
  • Цветовое кодирование html цветных секретов в vim
  • Не удается установить vim в Fedora 20
  • Заключить несколько строк в цитате Vim
  • Поиск и замена VIM
  • Карта alt или ctrl + h, j, k, l как стрелки в целом | gnome | ВИМ-стиль
  • Поиск «не новой строки» в vim?
  • Bash внутри Vim не работает должным образом
  • Проблемы с Vim при использовании ZSH
  • Каково историческое происхождение CTRL + P для up и CTRL + N для down?
  • Почему vim создает файлы с окончанием строки DOS?
  • Linux и Unix - лучшая ОС в мире.