Mac os, как запустить скрипт sh

Обновлено: 03.07.2024

В этом руководстве для начинающих мы познакомим вас со строительными блоками сценариев для Mac, а затем увидим, как использование сценариев с вашим решением для управления мобильными устройствами (MDM) может помочь ИТ-специалистам более эффективно управлять компанией. собственные устройства.

Вот краткий обзор некоторых тем, которые мы рассмотрим:

  • Что такое сценарии?
  • Использование сценариев с решением MDM
  • Команды терминала и сценарии оболочки
  • Что такое оболочки: Bash или Zsh?
  • Основы написания сценариев с помощью Bash

Что такое сценарии?

Сценарии – это небольшие компьютерные программы, которые собирают последовательность команд в один файл. В то время как ввод команд в терминал Apple обычно выполняется одна за другой, с помощью сценария вы можете выполнить длинный список команд всего за одно действие.

Хотя сценарии Mac обычно не используются для создания больших программ, вы можете использовать их для автоматизации рутинных действий компьютера. Например, если у вас есть трудоемкая процедура, которая требует много кликов, вы можете написать сценарий и сделать это всего одним кликом.

Apple хорошо описывает это в своем учебнике по сценариям оболочки:

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

Сценарии оболочки обычно считаются связующим языком, идеально подходящим для создания небольших деталей. кода, который соединяет другие инструменты вместе. Хотя сценарии оболочки можно использовать для более сложных задач, обычно это не лучший выбор.

Изучение скриптов похоже на изучение языка программирования. Вы начинаете с основ и постепенно расширяете свои знания.

Итак, в этом руководстве мы сосредоточимся на строительных блоках сценариев. Информация, которую мы рассмотрим здесь, будет полезна во многих случаях, но в конечном итоге мы сосредоточимся на том, как сценарии могут помочь вам выполнять действия на нескольких устройствах с помощью решения MDM.

Что могут делать скрипты?

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

  • Быстро, потому что использование сценариев Mac в MDM позволяет автоматизировать утомительные задачи, такие как доступ к компьютерной программе на 100 корпоративных устройствах, без 100 кликов.
  • Точно, потому что хороший сценарий каждый раз будет выполнять заданное действие одинаково, а доверить человеку выполнение задачи вручную может привести к ошибкам, несоответствиям и путанице.
  • Легко, потому что вы можете выполнить действительно сложную и тонкую задачу с помощью ряда простых сценариев, которые разбивают ее на более мелкие части.

Использование сценариев с решением MDM

Использование сценариев само по себе может помочь вам сэкономить время, но их использование с решением MDM, таким как наш продукт Kandji, открывает гораздо больше возможностей и свободы. Написав понравившийся сценарий, вы можете запустить его в своем решении MDM, чтобы применить его ко всем устройствам вашей компании.


Использование сценариев в решениях MDM зависит от продукта, но с Kandji вы можете использовать их, например, для настройки пользовательской установки приложений в соответствии с конкретными потребностями вашей компании. (Вы можете прочитать наше руководство по развертыванию приложений, если вам нужен учебник по этому вопросу.)

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

mac bash script preinstall postinstall

Предустановленные скрипты

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

  • Выполняйте задачи по очистке, которые обычно выполняются вручную перед переустановкой программного обеспечения, такие как удаление лицензий, кешей, файлов баз данных и т. д.
  • Запустите файлы конфигурации. Многие приложения используют параметры массового развертывания, которые работают путем поиска файлов конфигурации, размещенных до запуска программы установки. Например, вы можете использовать сценарий предварительной установки для создания определенной папки и записать в нее файл, содержащий какой-либо идентификатор. Когда происходит установка, программа установки находит эту информацию и использует ее для автоматической настройки приложения.

Сценарии после установки

Вы также можете создать сценарий после установки, который обычно используется для настройки параметров приложения перед его запуском.Чтобы поделиться распространенным примером, вы можете использовать скрипт posinstall для настройки пользовательских настроек для Google Chrome и убедиться, что настроены автоматические обновления.

Как вы понимаете, создание сценариев для этих действий дает вам намного больше контроля над процессом установки и может сэкономить вашей ИТ-команде много времени, если в противном случае им пришлось бы делать это вручную.

Пользовательские скрипты

Канджи также имеет функцию пользовательского сценария, которая позволяет добавлять любой сценарий, поддерживаемый macOS. Эти сценарии Mac могут запускаться один раз для каждого устройства или непрерывно. Существует также вариант сценария исправления, который вы можете включить при необходимости. Вы можете увидеть больше доступных опций на странице Custom Script Канджи ниже:

mac scripting - пользовательский сценарий kandji apple mdm

Основные блоки сценариев

Теперь, когда у нас есть рабочее определение того, что такое скрипты, и мы знаем, что они могут делать, давайте узнаем, как все это работает. В этом разделе мы разберем некоторые из основных строительных блоков сценариев Mac, включая команды терминала, сценарии оболочки и две распространенные оболочки.

Что такое команды терминала?

Терминал — это интерфейс командной строки (CLI) macOS. Он позволяет пользователям вносить расширенные изменения в свой Mac с помощью команд, которые являются просто инструкциями для вашего Mac относительно того, что вы хотите, чтобы он делал.

терминал сценариев Mac

Однако предупреждаю: Терминал — невероятно мощный инструмент. Тщательно исследуйте и тестируйте команды перед их запуском и, по возможности, тестируйте на виртуальной машине, а не на производственной машине.

Когда вы вводите команды в терминал, он позволяет вам общаться с интерпретатором или оболочкой. Интерпретатор берет код и переводит его на машинный язык, понятный операционной системе.

Чтобы открыть Терминал, просто нажмите «Приложения», откройте папку «Утилиты», а затем дважды щелкните приложение «Терминал». Вы можете использовать команды терминала для всего, что вы можете сделать в графическом интерфейсе, и многое другое.

Вот несколько основных примеров команд:

  • Добавить текст в документ (если документ не существует, будет создан новый)
  • Создать папку в определенном месте
  • Переместить документ в определенное место
  • Открыть документ из определенного места

Это отличный способ увидеть, как вы можете использовать команды, чтобы ваш Mac выполнял определенные действия, но это не очень практично, если вы хотите выполнять ряд задач. В следующем разделе мы увидим, как это возможно с помощью скриптов.

Что такое сценарии Mac Shell?

Конечно, подключение команд терминала по одной станет довольно утомительным, если вы пытаетесь внедрить изменения для сотен корпоративных устройств Mac. Таким образом, вместо того, чтобы выполнять отдельные команды, как в нашем примере в предыдущем разделе, вы можете превратить все свои команды в один сценарий — сценарий оболочки, — который может выполняться без прямого взаимодействия. Это упрощает выполнение повторяющихся или многоэтапных процессов и сводит к минимуму количество ошибок.

Сценарий оболочки — это просто текстовый файл, содержащий команды UNIX (команды, взаимодействующие с вашей операционной системой — macOS — это операционная система на основе UNIX). Все, что вы можете делать с помощью команд терминала, вы можете делать с помощью сценариев оболочки Mac, только намного проще. Вы даже можете автоматизировать сценарии оболочки с помощью таких инструментов, как launchd.

Запуск сценария оболочки: терминал Mac

На самом деле запустить сценарий оболочки довольно просто. Если бы нам нужно было создать сценарий Mac из представленных выше команд терминала, нам нужно было бы сделать следующее:

Все — программа выполнит список команд по порядку. Скорее всего, это произойдет быстрее, чем вы уследите, но это еще одно преимущество сценариев для Mac — они очень быстрые.

Прежде чем говорить о том, что можно делать с помощью скриптов, давайте рассмотрим, что такое оболочки (например, bash, которую мы использовали в этом примере).

Что такое оболочки?

Когда вы открываете Терминал, система запускает программу-оболочку. Оболочки — это интерпретаторы командной строки, что означает, что они принимают ваши команды и передают их операционной системе для выполнения.

По умолчанию Mac использует либо zsh (оболочка Z), либо bash (оболочка Bourne-again) в качестве оболочки или интерпретатора командной строки. Оболочка вашего Mac по умолчанию будет зависеть от используемой версии macOS.

  • zsh (Mac Catalina): если вы создали новую учетную запись пользователя в бета-версии macOS Catalina или более поздней версии, вашей оболочкой по умолчанию будет zsh. Итерации macOS до этого использовали bash.
  • bash (более ранние версии macOS). Если вы используете macOS Mojave и более ранние версии, то bash является вашей оболочкой по умолчанию.

Независимо от того, использует ли ваша учетная запись оболочку bash или zsh по умолчанию для Mac, вы можете изменить ее всего за несколько шагов. Вот что вам нужно сделать:

  1. Нажмите на меню Apple.
  2. Выберите «Системные настройки» > «Пользователи и группы».
  3. Нажмите на замок и введите имя и пароль своей учетной записи.
  4. Удерживая нажатой клавишу Control, щелкните свое имя пользователя в списке пользователей > Выберите дополнительные параметры.
  5. Посмотрите на меню «Оболочка входа» и выберите оболочку.
  6. Когда найдете нужную оболочку, нажмите "ОК".

Bash против Zsh: сценарии для Mac

Bash и zsh на самом деле имеют много общего, и вы можете переключаться с одного на другой, не слишком долго обучаясь. Итак, прежде чем мы перейдем к тому, что отличает их, давайте рассмотрим несколько мест, где они пересекаются.

  • Команда Z. Команда Z позволяет разработчикам легко перемещаться по своим каталогам, предоставляя им возможность посетить недавно или часто посещаемый каталог, набрав «z» и имя каталога. Это быстрее, чем вводить полное местоположение, как нам приходилось делать, когда мы открывали документ в разделе команд терминала.
  • Автозаполнение. Обе оболочки также включают функцию автозаполнения командной строки. Чтобы использовать эту функцию, вам просто нужно ввести команду, нажать клавишу «-», а затем нажать клавишу Tab. Вы увидите список доступных параметров команды, который вы можете просматривать, пока не найдете нужный.
  • Автокоррекция. Обе оболочки используют автокоррекцию, но сначала необходимо включить функцию bash, а в zsh есть встроенная функция автокоррекции, которая автоматически обнаруживает небольшие опечатки.
  • Настройка цвета. И zsh, и bash предлагают множество инструментов настройки цвета, которые с первого взгляда облегчают понимание сценария.

Что касается различий, то bash был оболочкой по умолчанию для пользователей macOS вплоть до Catalina и по-прежнему остается наиболее широко используемой оболочкой среди ИТ-администраторов. Поскольку у bash огромное количество поклонников, существует множество ресурсов, которые отлично подходят для начинающих.

Bash является частью семейства оболочек Bourne, в эту категорию также входят sh, ash, zsh и ksh. Он загружен большим количеством функций, чем мы можем здесь перечислить, но некоторые из его уникальных функций включают циклы, условные конструкции, раскрытие тильды и фигурных скобок, а также псевдонимы.

Zsh, оболочка Mac Catalina по умолчанию, с другой стороны, не так популярна, как bash, но по-прежнему имеет огромное количество поклонников, включая фреймворки с открытым исходным кодом, такие как Oh My Zsh, и широко известна своей функциональностью. Zsh предлагает некоторые уникальные функции, такие как подстановка файлов, загружаемые модули, расширение пути, сценарии запуска / завершения работы и многое другое. В этом руководстве мы в первую очередь сосредоточимся на bash.

Основы Bash

Теперь, когда мы понимаем, как работают скрипты и оболочки, пришло время дать несколько советов по написанию скриптов с помощью bash. После этого мы углубимся в основы, такие как назначение переменных и написание условий.

Разделение слов

Одним из первых основных строительных блоков, который нужно понять, является то, как bash использует разделители слов. При просмотре примеров скриптов вы увидите такие метасимволы, как ; а также &. Это только два из семи символов, которые bash использует для разделения слов при написании скрипта.

Мы приведем список всех семи ниже. Когда вы увидите их, не волнуйтесь. Они просто держат все в порядке. Как вы увидите позже в разделе условий, тип используемого синтаксиса зависит от того, чего вы пытаетесь достичь.

Полезные организационные команды

  • mkdir (создать каталог) используется для создания нового каталога или папки.
  • mv (перемещение) используется для перемещения одного или нескольких файлов или каталогов в другое место.
  • rm (удалить) используется для удаления файлов.
  • rmdir (удалить каталог) используется для удаления каталога.

Просмотр команд

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

  • cat (конкатенация) считывает содержимое одного или нескольких файлов и отображает его. Это идеально подходит для более коротких файлов.
  • less — еще одна команда просмотра, которая отлично подходит для просмотра более длинных файлов, поскольку она отображает только один экран информации за раз и включает полезные функции навигации для поиска определенных слов или перехода к следующей или предыдущей странице.

Что такое переменные?

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

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

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

Заглавные буквы здесь не имеют значения. Имя и значение переменной могут быть любыми, например:

Тем не менее, существуют некоторые ограничения на то, какие слова или символы можно использовать для переменных (о них мы поговорим далее). Но сначала важно отметить, что bash не использует пробелы до и после знака равенства при назначении переменных.

Это означает, что вы не можете назначать переменную с пробелами, как здесь:

Неверно:

Вы должны назначить его без пробелов, например:

Правильно:

Однако вы можете использовать пробелы в именах переменных, используя кавычки, например:

Правильно:

Следует также упомянуть, что вы можете использовать сценарий Mac, чтобы заставить Терминал вернуть вам значение переменной. Вы можете сделать это двумя способами. В обоих примерах «x» — это значение переменной, которое вы ищете:

Вы также можете сделать так, чтобы переменная ссылалась на результат команды, например:

Ограничения переменных

Итак, что это за ограничения переменных, о которых мы только что упомянули? Bash имеет двадцать «зарезервированных слов», которые вы не можете использовать для переменных, потому что они уже назначены другим важным функциям в оболочке. Всякий раз, когда вы назначаете переменные, вам просто нужно избегать этих слов, и вы не столкнетесь с какими-либо проблемами со своим скриптом.

Одинарные и двойные кавычки

Текст, заключенный в одинарные кавычки, означает, что он содержит только тот текст, который был прочитан – он не будет придавать значения каким-либо специальным символам, таким как переменные или ограничения переменных.

Двойные кавычки сохраняют буквальное значение некоторых символов, но могут содержать некоторые переменные или символы со специальным значением, в том числе:

Смысл символа ! в двойных кавычках сохраняется только тогда, когда включено расширение истории, а за \ должен следовать другой специальный символ (или новая строка).

Что такое условные выражения?

Следующий важный шаг в изучении скриптов для Mac — научиться использовать условные операторы. По сути, условные операторы — это операторы if/then, которые устанавливают условия, а затем проверяют, выполняются ли они (например, ЕСЛИ сейчас 6 утра, ТО скажите «Доброе утро»).

В bash синтаксис операторов if/then выглядит следующим образом:

Давайте разберемся.

  1. Начните с «если» и сразу же после него укажите условия.
  2. Используйте точку с запятой, чтобы отделить условие "ЕСЛИ" и начать команду "ТО". Эта команда выполняется только в том случае, если выполняется условие «ЕСЛИ».
  3. Наконец, закройте оператор if/then с помощью «fi» — это просто «if», написанное наоборот.

Вот пример:

Здесь мы проверяем, является ли число 5 больше или равно (это "-ge") другому числу, 4. Если это так, будет выполнена команда "тогда" с запросом нам с сообщением: «Это число больше или равно 4». Представьте, как изменение числа 5 и использование вместо него переменной может улучшить функциональность этого скрипта.

После того, как вы освоите эти операторы, вы сможете научиться использовать else, чтобы дать своим командам альтернативное действие в случае, если условия if не выполняются. Для более сложных команд вы даже можете использовать «elif» (else if), чтобы добавить условия к «else» без утомительного переписывания дополнительных «else» условий.

Сценарии с помощью решений MDM

Точно так же, как использование сценариев Mac может сделать отдельные команды терминала более мощными, использование сценариев с вашим решением MDM может максимально раскрыть ваш потенциал управления.

Независимо от того, используете ли вы функцию настраиваемого сценария или задаете поведение до и после установки для настраиваемых приложений, создание сценариев с помощью MDM позволяет выполнять множество дополнительных действий по управлению устройствами.

Надеюсь, вы узнали, что с помощью сценариев можно выполнять многоэтапные задачи быстрее и точнее, а также создавать сценарии расширенных политик и отправлять их на все устройства вашей компании с помощью решения MDM, такого как Kandji.

Помимо запуска ваших скриптов, Kandji имеет множество других замечательных функций, таких как соответствие основным тестам безопасности одним щелчком мыши и автоматическое развертывание. Это все, что нужно вашему бизнесу для управления парком автомобилей от развертывания до вывода из эксплуатации.

Мне всегда хотелось иметь возможность запускать скрипт, загруженный из Интернета, прямо из Finder, но двойной щелчок по файлу не работает.



6 ответов 6

Откройте Терминал, введите sh /path/to/file и нажмите Enter.

Быстрее набрать sh и пробел, а затем перетащить файл в окно и отпустить значок в любом месте окна.



Как вы думаете, что произойдет, если сценарий оболочки будет написан с использованием другого синтаксиса оболочки, такого как tcsh, zsh или ksh? Суффикс sh обозначает сценарий оболочки, а не «запуск сценария в этой оболочке».

@user14492- Когда вы вызываете сценарий оболочки как shell_script, строка shebang игнорируется. Оболочка читает первую строку как комментарий.

@fd0, я не понимаю. Чем sh /path/to/file семантически отличается от альтернативного /path/to/file.sh ?

@Pacerier- В первой форме вызывающий пользователь должен иметь возможность прочитать файл и выбрать, какой интерпретатор будет читать файл. Во второй форме права доступа к файлу должны быть прочитаны и выполнены для вызывающего пользователя, а интерпретатор определяется решеткой в ​​​​первой строке сценария. В обоих случаях ядро ​​не интерпретирует суффикс файла.

В качестве альтернативы вы также можете



В вопросе написано "запустить скрипт, который я скачал из Интернета". Файлы, загруженные из Интернета, обычно имеют права доступа 644.

@patrix я думаю, что это не только интернет, но и каждый файл, который копируется из другой файловой системы в вашу из-за маски по умолчанию в вашей учетной записи.

отредактируйте ~/.bash_profile и добавьте следующую строку:

выполните следующую командную строку:

тогда вы сможете запустить свой файл как программу



Чтобы запустить файлы скриптов, выполните следующие действия:

Щелкните правой кнопкой мыши файл .sh.

Наведите указатель мыши на Открыть с помощью.

Выберите «Другое». .

Вы должны находиться в папке Applications. Откройте папку Utilities и выберите Terminal.app.

Если вы не можете выбрать Terminal.app, измените включенные приложения с Рекомендуемые приложения на Все приложения. Он находится внизу окна.

Если вы хотите открывать каждый файл .sh с помощью Terminal.app, установите флажок Всегда открывать с помощью.

Нажмите кнопку "Открыть" в правом нижнем углу окна.

как запустить сценарий оболочки в macOS

Запуск сценария оболочки в macOS может быть немного сложным. Тем не менее, работа становится проще, если вы помните несколько основных моментов. Итак, вот как легко запустить сценарий оболочки на Mac.

Разрешения

Разрешение – это наиболее важная концепция при выполнении сценария оболочки в macOS. По сути, вы, то есть пользователь, должны иметь разрешение на запуск скрипта. Странно говорить вам об этом, но по умолчанию у вас нет разрешения на запуск скрипта в любом месте системы. Он отключен из соображений безопасности.

Есть 3 способа обойти этот метод:

  • Переместите скрипт в свой домашний каталог
  • Запустите скрипт от имени пользователя sudo
  • Предоставить скрипту достаточные разрешения

Оставим первый вариант, так как он может помешать работе скрипта. Второй вариант — запустить скрипт от имени пользователя sudo. Таким образом, вы даете сценарию одноразовое разрешение администратора на запуск. Он не требует никакой настройки. Вам просто нужно вводить пароль администратора каждый раз, когда вы запускаете скрипт. Это метод, который я бы рекомендовал, и если вы хотите попробовать его, перейдите к этому шагу.

Третий способ требует разрешения на выполнение скрипта. Таким образом, вы можете запускать скрипт несколько раз, не используя команду sudo и не вводя пароль. Чтобы предоставить себе разрешение на выполнение, используйте следующую команду:

изменить оболочку разрешение сценария на macos

1. Легкий способ

<р>1. Самый простой способ запустить сценарий оболочки на Mac — использовать команду sudo. Для этого нажмите Cmd+Пробел и введите Terminal в Spotlight. Когда появятся результаты, нажмите Enter.

запустить терминал на прожектор

<р>2. В терминале введите «sudo sh».

команда sudo для запуска сценария оболочки в macOS

<р>3. Затем откройте Finder. Найдите сценарий оболочки, перетащите сценарий оболочки из окна Finder в терминал. Терминал будет иметь расположение скрипта. Теперь нажмите Enter.

<р>4. Терминал запросит пароль администратора. Введите его и снова нажмите Enter.

введите пароль для команды sudo

<р>5. Скрипт должен работать нормально.

команда sudo для запуска сценарий оболочки в macOS

Если ваш сценарий завершается с ошибкой «Отказано в доступе», перейдите к этому шагу, чтобы предоставить соответствующие разрешения, а затем повторите попытку.

2. Стороннее приложение

Если вы часто запускаете сценарии оболочки, лучше иметь стороннее приложение. Это позволит вам редактировать скрипт на лету и запускать его интуитивно. Существует несколько редакторов сценариев оболочки для Mac, но я предпочитаю Sublime Text. Это минимальный редактор разметки, поддерживающий несколько языков. Но ради этого примера давайте остановимся на сценариях оболочки.

<р>1. Прежде всего, скачайте и установите Sublime Text.

скачать возвышенное текст для macOS

<р>2. Затем откройте сценарий оболочки в Finder. Щелкните его правой кнопкой мыши и выберите «Открыть с помощью». В расширенном меню нажмите Sublime Text.

 открыть сценарий оболочки в возвышенном тексте

<р>3. Когда сценарий оболочки откроется в Sublime Text, нажмите «Инструменты» в верхнем меню. В раскрывающемся списке нажмите "Создать".

создать сценарий оболочки в возвышенном тексте

<р>4. Sublime text запросит разрешения, нажмите «Разрешить». Затем он покажет вам результат на разделенном внизу экране.

 запустить сценарий оболочки на macOS в возвышенном тексте

Вы можете редактировать и сохранять сценарии оболочки прямо в Sublime и даже быстро создавать их.

Заключительные слова: запуск сценария оболочки на Mac

Итак, это были два способа быстрого запуска сценария оболочки в macOS. Если вы часто редактируете и имеете дело со сценариями оболочки, лучше иметь стороннее приложение. Терминал macOS не интуитивно понятен, когда дело доходит до сценариев оболочки.

Информационный аватар участника

6, 0

Я не могу запустить скрипты bash в Терминале (Mac – Snow Leopard). У меня есть следующий сверхпростой скрипт, и я не могу заставить его выполниться, несмотря на наличие правильных разрешений (я думаю).

Я назвал файл testScript.sh и добавил разрешения на выполнение с помощью следующей команды:

Есть идеи, что я делаю неправильно?

Информационный аватар участника

2 759 420

Информационный аватар участника

74, 3

Когда вы вводите команду, оболочка ищет в вашем пути, который представляет собой список каталогов, местонахождение программы. Вы можете найти свой путь, набрав «echo $PATH», но обычно это что-то вроде /usr/local/bin, /usr/bin и /bin. В этом случае он не нашел скрипт в этих местах. Чтобы запустить из текущего каталога, добавьте "./"

Информационный аватар участника

112, 0

В противном случае вы также можете запустить скрипт с помощью следующей команды.

Информационный аватар участника

6, 0

Ах. имеет смысл. Есть ли способ изменить это (или лучше не трогать)?

Спасибо за все быстрые ответы. Вы, ребята, потрясающие!

Информационный аватар участника

2 759 420

Зависит от того, какую оболочку по умолчанию вы используете.

Добавьте строку ниже в свой .profile

Информационный аватар участника

190, 1

Вы также можете использовать следующий способ для запуска скрипта bash

Еще 9 обсуждений, которые могут вас заинтересовать

1. UNIX для начинающих: вопросы и ответы

Сценарий Bash не запускается, поскольку аппаратное обеспечение не обеспечивает отображение

Может ли кто-нибудь посоветовать, как модифицировать приведенный ниже скрипт для работы в нашей новой системе, в которой нет графических возможностей? Мы администрируем систему через последовательное устройство RAS. Я попытался запустить приведенный ниже сценарий через RAS и через сеанс ssh -X. Это не удалось с чем-то вроде "GTK. (3 ответа)

Обсуждение начато: yelirt5

2. Программирование оболочки и создание сценариев

/dev/null) Но ничего не возвращается. Просто все пусто. Если я запускаю команду find в терминале, я получаю десятки обращений. Я думаю, это то, как я. " style="color:Navy;">Вложенные двойные кавычки не будут работать в моем сценарии bash?

В сценарии bash у меня есть: LSCMD="find /project/media/ -mindepth 2 -maxdepth 2 -name \"files*pkg\"" ALL_PACKAGES=$( $LSCMD | sort 2>/dev/null) Но мне ничего не возвращается. Просто все пусто. Если я запускаю команду find в терминале, я получаю десятки обращений. Я думаю, это то, как я. (3 ответа)

Обсуждение начато: superbbrr

3. Программирование

Сценарий CGI Perl для выполнения сценария bash — невозможно создать папку

Здравствуйте, у меня есть сценарий bash, который принимает параметры sh /tmp/gdg.sh -b BASE-NAME -n 1 -s /source/data -p /dest/data/archive -m ARC gdg.sh будет сканировать /source/data и переместит содержимое в /dest/data/archive после прохождения некоторых фильтров. Он отлично работает с bash, который у меня есть. (0 ответов)

Обсуждение начато: rakeshkumar

4. UNIX для чайников, вопросы и ответы

Сценарий Bash для запуска программы переименования файлов

Я просто не могу понять, поэтому, пожалуйста, просто дайте мне совет, как это сделать: Существующая Linux-программа foo2bar принимает в качестве единственного аргумента имя одного файла foo и преобразует его в строку с соответствующим названием. файл. Предоставьте скрипт, который при выполнении запустит foo2bar для всех файлов foo. (4 ответа)

Обсуждение начато: raymen

5. Программирование оболочки и создание сценариев

Как выполнить сценарий bash

Обсуждение начато: palak08

6. Программирование оболочки и создание сценариев

Выполнение ssh-команд через скрипт bash

Привет всем! Я пытаюсь написать сценарий, который будет проверять, доступен ли определенный каталог на нескольких разных узлах, а затем выполнять в нем определенные действия. В начале скрипта я задаю в качестве переменной каталог и количество узлов, а затем зацикливаюсь следующим образом: for. (3 ответа)

Обсуждение начато: idet2

7. ОС Х (Apple)

at_log.txt" | сейчас +1минута, чтобы проверить команду at на моем терминале. Я получил сообщение: задание 8 в четверг, 25 февраля, 18:42:00 2010. Я подождал минуту, но ничего не произошло. Я попытался перечислить at_log.txt, но он сказал, что такого файла нет. Я что-то делаю. " style="color:Navy;">Почему команда at не работает в Mac OS X?

Я набрал: echo "echo hi > at_log.txt" | сейчас +1минута, чтобы проверить команду at на моем терминале. Я получил сообщение: задание 8 в четверг, 25 февраля, 18:42:00 2010 Я подождал минуту, но ничего не произошло. Я попытался просмотреть at_log.txt, но он сказал, что такого файла нет. Я что-то делаю. (2 ответа)

Обсуждение начато: Ultrix

8. UNIX для чайников, вопросы и ответы

как выполнить скрипт sh в оболочке bash через crontab

привет. мы переносим с HPUX Shell на Linux. моя оболочка по умолчанию — bash, поэтому я больше не могу планировать выполнение скрипта sh в crontab. может ли кто-нибудь помочь мне? Искал на сайте, но подробностей не нашел. Спасибо! (1 ответ)

Обсуждение начато: jigarlakhani

9. Программирование оболочки и создание сценариев

/tmp/1; пока блаблальба2; делать . сделанный цикл не выполняется в скрипте bash?

Читайте также: