Могу ли я открыть новый терминал с новым исполняемым файлом?

Используйте CollectionUtils.filter (набор, предикат) , от Apache палата общин.

2
задан 14.05.2020, 13:49

1 ответ

Я пытался использовать подобный сценарий для создания выполненным сценарий и исполняемый файл. Это функционирует в обоих случаях.

  • Случай исполняемого файла /usr/bin/xlogo:

    #!/bin/bash  
    XTERM="/usr/bin/xterm -bg RED -e /usr/bin/xlogo"
    exec $XTERM 2>&1 &
    

    терминал запускается, таким образом, он делает двоичный файл xlogo; исходная оболочка дает мне подсказку назад, потому что конец сценария его выполнение. Никакая ошибка не возвращается.
    ( Это заканчивается хорошо, потому что xterm запускается ).
    , Если я нажимаю CTRL+C, когда фокус находится на xterm окно , я прерываю xterm сессия и исполняемый файл. Если я закрываю исполняемый файл, xterm сессия конец также.

  • Случай сценария, что я делаю исполняемый файл с chmod u+x MyScript.sh

    #!/bin/bash
    pwd         # To confirm in which directory it works
    echo Please insert something 
    read a      # It asks to input something 
    echo inserted $a We sleep for 10 seconds
    sleep 10    # It will wait 10 seconds to exit  
    

    , Он работает, снова как в двоичном случае.
    , Если я пытаюсь прервать сценарий, это сделает конец xterm сессия также.
    Это показывает ясно что xterm сессия выполнения от тока путь .

<час>

Поэтому, если Ваш файл является исполняемым файлом, действительно не имеет значения, если это - двоичный файл или сценарий.

Классик отлаживают контрольный список:

  1. Проверка, если можно работать /usr/bin/xterm
  2. Проверка, если это - исполняемый файл (в примере с ls -l /home/ambuj/practice/myBinary).

  3. , Если это - исполняемая попытка выполнить его от текущего местоположения (каталог), чтобы видеть, должно ли это быть выполнено от детали путь , если требуется некоторый файл где-нибудь, или если это компилируется для Вашей архитектуры...

Примечание, что , если выполнение из Вашего двоичного файла (или сценарий) концы Ваш терминальный сеанс сразу закончится после , и оно не имеет значения если из-за ошибки или из-за естественные причины .

Никогда не забывают, что ошибка, более трудная найти, является той, которая не делает существует: таким образом, если Ваша программа будет выполнена, и закончите быстро, она будет казаться Вам, что Ваш xterm откроется и закроется, ничего не делая.

0
ответ дан 14.05.2020, 13:49
  • 1
    да @Hastur я проверил его снова с двоичным файлом (исполняемый файл), что я сознательно добрался до цикла в течение бесконечных времен. И это работало!!!. Как Вы указали в своем сообщении что, Если программа выходит, то управление сразу возвращается к его родительскому терминалу. Я проигнорировал этот факт при попытке previouisly, в котором исполняемый файл хоста завершался каждый раз, и следовательно ничто не было, кажется, происходят. Спасибо за Ваше подробное объяснение. – Carlos Tadeu 14.05.2020, 13:50
  • 2
    " То, когда Вы исключили невозможное, независимо от того, что остается, однако невероятным, должно быть truth" Благодаря сказанному меня это было в порядке. Почти все прежде или после поиска ошибка это doesn' t существует. Между прочим, для приостановки сценария it' s достаточно, что Вы пишете, строка как read a и сценарий будет ожидать, пока Вы не вставите что-то и после того, как это продолжится естественно . Если Ваш сценарий берет вход от перенаправления, можно записать read a </dev/tty . Только для забавы делают cat /dev/tty [CTRL-D или CTRL-C для выхода]. – Carlos Tadeu 14.05.2020, 13:50

Теги

Похожие вопросы