Что амперсанд означает в конце строки сценария оболочки?

Кому-либо разрешают совместно использовать измененную программу с помощью того же имени?

Это зависит; GPL действительно не указывает, что, так как имена не защищены авторским правом. Они, однако, обязаны ясно заявить, что это не то же:

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

Для управления самим именем Вам нужен товарный знак, и можно, конечно, отклонить любого использование такого товарного знака для ветвлений программы, даже если это - лицензируемый GPL. Как пример, Firefox распределяется как Бесплатное программное обеспечение (включая GPL), все же Вы не можете назвать измененные версии "Firefox", из-за фирменной политики Mozilla.

Ii имеют какое-либо владение на программном обеспечении?

Вы, как разработчик программного обеспечения? Да, Вы - владелец авторских прав / держатель; на самом деле вот почему можно лицензировать программное обеспечение как GPL. Как владелец авторских прав Вы также не подвергаетесь лицензии сами и можете распределить ее в будущем в соответствии с другой лицензией (хотя Вы не можете отозвать лицензии GPL версий, ранее распределенных под нею).

Как пример, MySQL AB (один из предыдущих владельцев MySQL) раньше распределяла MySQL и как GPL и продавала коммерческие лицензии людям или компаниям, которые не хотели становиться подвергающимися его ограничениям.

Но необходимо быть осторожными: если Вы признаете, что вклады от других и они не присваивают свое авторское право Вам, Вы не владелец такого кода; хотя можно все еще использовать его в соответствии с GPL, Вы не можете повторно лицензировать его.

Я беру на себя ответственность за использование программы, неожиданное поведение...?

Не из-за GPL; это даже включает разделы, отказывающиеся от гарантии и ответственности. Однако лицензия авторского права не заменяет закон, таким образом, можно все еще быть ответственными. Необходимо согласовать с адвокатом для знания соответствующего законодательства о том вопросе.

121
10.08.2013, 15:27
4 ответа

sh Совместимая с границей оболочка по умолчанию (обычно удар или тире)

sys-snap.sh сценарий оболочки, который содержит команды это sh выполняется. Поскольку Вы не отправляете его содержание, я могу только предположить с его имени, что оно делает. Я могу найти сценарий связанным с CPanel с тем же именем файла, которые делают файл журнала со всеми текущими процессами, текущим использованием памяти, состояние базы данных и т.д. Если сценарий запускается со строки хижины (#!/bin/sh или подобный), можно сделать это исполняемым файлом с chmod +x sys-snap.sh и запустите его непосредственно при помощи ./sys-snap.sh если это находится в текущем каталоге.

С & процесс запускается в фоновом режиме, таким образом, Вы можете продолжить использовать оболочку и не должны ожидать, пока сценарий не закончен. Если Вы забываете это, можно остановить текущий рабочий процесс с Ctrl-Z и продолжите его в фоновом режиме с bg (или на переднем плане с fg). Для получения дополнительной информации посмотрите управление заданиями

98
27.01.2020, 19:29
  • 1
    sh в обычно только bash или dash в основанных на Linux системах (или недавний OS/X). На BSDs это обычно - другой вариант Ash (тире основан на NetBSD sh, самом на основе Shell Almquist), или pdksh производная. На коммерческих Нельдах это обычно ksh88. –  Stéphane Chazelas 10.08.2013, 18:00
  • 2
    @jofel: Что, если ниже сценария работает и ошибочным, я выполнил Ctrl-C. Будет мой сценарий выполняться, или он будет завершен? Исключая: sh sys-snap.sh и –  Hussain7 02.08.2016, 13:38
  • 3
    @Hussain7 Ctrl-C всегда отправляется в текущий процесс на переднем плане. Если сценарий оболочки запускается с & и поэтому в фоновом режиме, Вы получаете только новое приглашение оболочки. –  jofel 04.08.2016, 15:00
  • 4
    является двойным амперсандом && отличающийся от единственного амперсанда &? –  Charlie Parker 16.01.2017, 23:35
  • 5
    @CharlieParker Да, "&&" "и" функция. Команду после && называют только, когда команда прежде успешно выполняется. Пример "истинные выходные работы "" работ эха &&, но "ложь && отзываются эхом, никакой вывод" не вызывает функцию эха. –  jofel 17.01.2017, 16:47

Это известно как job control под Unix. & сообщает оболочке для помещения команды в фоновом режиме. Это означает, что продолжает работать sys-snap.sh команда, но возвраты Вы к Вашей оболочке к позволяете Вам продолжать делать параллельные команды.

Вы видите список заданий, в настоящее время работающих с jobs команда. Можно возвратиться к команде (принесите к 'переднему плану) с использованием fg команда. Который задерживает команду к состоянию, где Вы не видите подсказки, и необходимо выпустить Ctrl-C для уничтожения процесса. Можно однако приостановить (пауза), которые обрабатывают, выпуская Ctrl-Z. Это приостановится sys-snap.sh и возвратите Вас своей подсказке. Вы можете затем фон это (как будто Вы выпустили его с &) с bg команда, и это продолжит работать от, он приостановил состояние, Ctrl-Z вставил его.

Обратите внимание, что у Вас может быть больше чем одно задание за один раз (как показано jobs):

[1]-  Running          sys-snap.sh &
[2]+  Running          another-script.sh &

Вы можете фон и передний план их использующий их число задания, %1 будет sys-snap.sh и %2 будет another-script.sh. Если Вы используете fg или bg без аргументов это будет действие команда на задании, отмеченном + в jobs вывод выше.

fg %1

поместит sys-snap.sh назад в передний план, при отъезде another-script.sh в фоновом режиме.

Можно выпустить последовательность Ctrl-C к рабочим заданиям, не имея необходимость к переднему плану их с kill команда, kill %1 отправит эквивалент Ctrl-C к sys-snap.sh.

Если Вы используете оболочку удара, man bash команда имеет подробный раздел при возглавляемом 'УПРАВЛЕНИИ ЗАДАНИЯМИ' раздела, вдающемся в большее количество подробностей.

Относительно названия sys-snap.sh, под Unix имена файлов произвольны (за несколькими исключениями как динамические файлы загрузчика). Нет никакого требования для них, чтобы иметь определенные расширения файла, чтобы заставить их работать как сценарий оболочки, вызвать другие команды такой как perl или php и т.д. Это обычно используется для обеспечения ясности, которая в этом экземпляре, это .sh Сценарий оболочки с помощью Оболочки Bourne /bin/sh.

Функциональный компонент sys-snap.sh (когда Вы смотрите на, он - содержание с чем-то как less команда), Хижина. На первой строке Вы, вероятно, найдете один из:

#! /bin/sh
#! /bin/bash
#! /usr/local/bin/bash

или подобный. В основных условиях, команда после #! (такой как /bin/sh) работал, и содержание остальной части файла сценария питается к нему строка за один раз. Обратите внимание, что файл должен также быть установлен исполняемый файл с chmod так, чтобы можно было выполнить его как команду. Если полномочия не были установлены, то shebang не имеет никакого эффекта, потому что Вы или получили бы ошибку:

bash: sys-snap.sh: command not found

или если Вы выполнили его явным путем ./sys-snap.sh (. значение текущего рабочего каталога), Вы добрались бы:

bash: ./sys-snap.sh: Permission denied

Другая альтернатива должна уехать, она без выполняет полномочия и явно просит, чтобы/bin/sh выполнил его:

/bin/sh sys-snap.sh &
90
27.01.2020, 19:29
  • 1
    это - большой ответ. одно возможное предложение состоит в том, чтобы также включить что nohup делает, поскольку это часто используется в сочетании с & запустить процесс и смочь уничтожить оболочку, которая запустила его, не уничтожая процесс. –  Tommy 14.10.2015, 17:49
  • 2
    @Drav Фигурной скобки, это верный затем это jobs будет всегда возвращаться пустой, если это будет первая команда? –  Pacerier 16.12.2017, 00:16

sh оболочка. Которые окружают, точно зависит от системы. Пример для системы, которая использует bash как его стандартная оболочка:

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar 13 16:12 /bin/sh -> bash

$ sh --version
GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu)

sys-snap.sh будет сценарий оболочки некоторого вида, таким образом, sh sys-snap.sh выполнит сценарий оболочки.

& заставит процесс оболочки работать в фоновом режиме. Без & это останется на переднем плане, пока сценарий не закончится. Сценарий будет работать так или иначе, это - просто вопрос ожидания сценария, чтобы закончиться или не прежде, чем выполнить дальнейшие команды.

4
27.01.2020, 19:29

Ваш сервер в hostgator?

Сценарий sys-snap.sh специальный сценарий, записанный hostgator командой для сбора всех файлов журнала и данных для системы, таким образом, они используют ее вывод в контроле и сборе системной информации.

1
27.01.2020, 19:29
  • 1
    Нет я не использую hostgator. –  user4951 25.10.2013, 09:54
  • 2
    @J.Chang сценарий является частью cPanel, который используют Hostgator и сотни других хостов. –  472084 05.07.2017, 15:12
  • 3
    @472084, Который cpanel версия? –  Pacerier 16.12.2017, 00:33

Теги

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