Вопросы по Macos

  • Автор темы Omh
  • Дата начала
T

turumbay

Чувствую осталось чуть-чуть дожать.
улавливается закономерность.
а что, если
Код:
@Command([Execute]; "/bin/sh"; "/Users/test/Desktop/bla.sh")
P.S. Может пнуть стороннюю яву доминошной:
Код:
java.lang.Runtime.getRuntime ().exec(String command)
 
O

Omh

P.S. Может пнуть стороннюю яву доминошной:
Я не могу обращаться к доминошной джаве вообще.
Этой всей фигне надо работать на 7-ке, а как только обращаешься к доминошной джаве (даже просто объявление в initialize) по r7, вылетает Aero (Vista/W7).
Поэтому и вынужден юзать сторонюю джаву.

тебеж сказали - скрипт создай!
Туплю.

Создаю ;)
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
скопируй текст скрипта ато я вижу у тя вместо нуля - букивка O
 
O

Omh

lmike
Подклываешь

Я ща туплю с этим chmod.
Моя папка лежит в /System/Library/<FOLDERNAME>

Что-то не получается через этот сраный терминал на неё переключится
cd /
cd /System
cd /Library
Дальше мою папку не видит.

Хотя сегодня делал.
Бесит.

Ща разрулю, на это не обращайте внимания
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
если слэш первый - это абсолютный путь ;)
 
O

Omh

lmike
Вы не можете изменять репутацию одного и того же пользователя чаще один раз за 7 дней!
;)

Добавлено: Значит к чему пришли:
Файл
Код:
/Users/test/hello.sh
Содержимое
Код:
#!/bin/bash
BASEDIR=$(dirname $0)
/usr/bin/xargs -0 -a $BASEDIR/cmd.txt bash -c

Файл
Код:
/Users/test/cmd.txt
Содержимое
Код:
java

На оба файла chmod +x

Shell на /Users/test/hello.sh - illegal function call
@Execute на /Users/test/hello.sh - открывает на редактирование
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
тока шо, на линуховом клиенте (нативном) запустил - никаких ошибок:
Код:
Sub Initialize
Dim result As Integer
result= Shell({/home/mike/myexec.sh})
End Sub
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
если не смогешь решить - могешь дать удалённый доступ (по VNC, ежели комп имеет публичный адрес)
попробую посмотреть (хотя нет гарантий)
у мя нет 10.6... могу тока на 10.5, дома, посмотреть
 
O

Omh

lmike
VPN, к сожалению, организовать не могу: работа, секьюрность и всё такое.
Но спасибо за предложение.
Приятно, что тут собрался достаточно упрямый коллектив, который меня не бросает :)

Сейчас возьмусь со свежей головой за дальнейшие исследования.

Вообще, .sh с правами +х я тоже из шелла запускал.

И ещё, у тебя какая версия нотеса?
У меня 8.5.2.
По ссылке, которую привёл turumbay (тоже спасибо), похоже, что в ветке 8.5 погрохали ф-ность shell под макосью.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
вчера запустил - почти всё работало...
8.5.х (хэ не знаю - эбаут не показало)
лепёрд 10.5
НО не заработало перенаправление потока ( > ) из Shell
в скрипт вставил open -a safari
всё открылось
и да, xargs, другой (в лепёрде), у него нет кюча -a
потому сделал по-старинке:
<!--shcode--><pre><code class='bash'>#!/bin/bash
BASEDIR=$(dirname $0)
cat $BASEDIR/exec.txt | xargs -J % -0 bash -c "%"[/CODE]можно и без -J ежели строка нормально "разрывается"
типа
<!--shcode--><pre><code class='bash'>cat $BASEDIR/exec.txt | xargs -0 bash -c[/CODE]
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
да и насчёт всяких секурити - они легко хачатся созданием реверсивного прокси (с пом. того же ssh)
 
O

Omh

lmike
Ну действительно "нет, пердело совершенство"!

На данный способ с двумя файлами один из которого вызывает другой (cat $BASEDIR/cmd.txt | xargs -0 bash -c) - работает!!!!
runner.sh - запускающий файл
cmd.txt - файл с командой

На runner.sh обязательно надо дать +x права, если не дать, то получаем опять Illegal function call.
На cmd.txt - x права не обязательно, а зачит я с общей помощью близок к решению проблемы.

Сейчас ещё потестирую с изменением cmd.txt Stream'ом и, похоже, открою водку!
 
O

Omh

lmike, turumbay - заработало с двумя файлами!
Невероятно :)

Значит так, будете у нас на Колыме (в Риге) - смело телефонуйте, с меня пиво с воблой :)
Я думаю, это ещё не конец моих мытарств, но прогресс определённый!
 
O

Omh

Надеюсь, приближаюсь к концу :)

Есть такая команда (Windows)
Код:
"C:\Program Files\Java\jre6\bin\java"
-DLOG_FOLDER="<TMP_FOLDER>"
-classpath "<PATH_TO_JAR1>;<PATH_TO_JAR2>;<PATH_TO_JAR3>;<PATH_TO_FORDER_WITH_CLASSES>;<PATH_TO_FORDER_WITH_JARS>"
<CLASS_NAME>
<PARAM>

Которую мне надо транскрибировать в маковую :)
У меня получается примерно так (заменил путь к джаве и ; на : )
Код:
java
-DLOG_FOLDER="<TMP_FOLDER>"
-classpath "<PATH_TO_JAR1>:<PATH_TO_JAR2>:<PATH_TO_JAR3>:<PATH_TO_FORDER_WITH_CLASSES>:<PATH_TO_FORDER_WITH_JARS>"
<CLASS_NAME>
<PARAM>

До добавления <CLASS_NAME> всё отлично, джава запускается, всё в шоколаде.
Как только добавляю вызов <CLASS_NAME> - получаю illegal function call.
Есть идеи?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
не понял слова: вызов <CLASSNAME>
яб тоже послал :)
этож д.б. в одну строку и луча использовать форму с -J (см. выше)
перед тем как вызывать такие конструкции в Shell - пущай в терминале
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
нудык строка д.б. неразрывной, либо, для bash, возможен бэклэш

Добавлено: запусти скрипт вне нотусей (с терминала), он ругнётся и ты посмотришь - где
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!