Build sh как запустить
Перейти к содержимому

Build sh как запустить

  • автор:

Помогите запустить скрипт SH

При запуске скрипта установки, одна машина не хочет его выполнять.

ira@ira-HP-ProBook-4540s:~$ chmod +x ./dwagent.sh ira@ira-HP-ProBook-4540s:~$ sudo sh dwagent.sh[sudo] пароль для ira: Extracting file . dwagent.sh: 19: dwagent.sh: [[: not found dwagent.sh: 29: dwagent.sh: /tmp/dwagent_install20210910191831/extract: not found mv: не удалось выполнить stat для '/tmp/dwagent_install20210910191831/runtime/bin32': Нет такого файла или каталога mv: не удалось выполнить stat для '/tmp/dwagent_install20210910191831/runtime/lib/linux32/*': Нет такого файла или каталога mv: не удалось выполнить stat для '/tmp/dwagent_install20210910191831/runtime/lib/engines32': Нет такого файла или каталога mv: не удалось выполнить stat для '/tmp/dwagent_install20210910191831/runtime/lib/python2.7/lib-dynload32': Нет такого файла или каталога Running installer . unlink: невозможно удалить ссылку '/tmp/dwagent_install20210910191831/runtime/lib/libz.so.1.2.8': Нет такого файла или каталога dwagent.sh: 56: dwagent.sh: /tmp/dwagent_install20210910191831/runtime/bin/dwagent: not found Error starting gui, attempt to start console mode. dwagent.sh: 69: dwagent.sh: /tmp/dwagent_install20210910191831/runtime/bin/dwagent: not found Removing temp directory . 

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

zloon
10.09.21 20:13:28 MSK

Как запускать shell (*.sh) скрипты?

Shell — это один из командных интерпретаторов, поставляемых вместе с ОС unix. Программа на языке Shell называется скриптом. Shell скрпитам указывают расширение *.sh и работают они в Unix системах. Если вам надо запустить shell скрипт в windows, то можно установить подсистему Linux Ubuntu или установить отдельно интерпретатор Shell для windows.

Как запустить sh скрипт из командной строки?

Допустим у вас есть скрипт hello.sh состоящий из одной команды.

Чтобы его запустить, надо зайти в каталог, где расположен скрипт, набрать название интерпретатора sh и первым параметров указать ваш файл hello.sh.

    Указать интерпретатор внутри файла.
    На первой строчке после #! прописывам путь к bash-интерпретатору, по-умолчанию это /bin/bash (посмотреть можно командой whereis bash). Содержмиое скрипта hello.sh получается таким:

Теперь можно запускать:

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

Похожие записи

Какой язык программирования учить первым?

Для начало необходимо решить как Вам больше нравится: «начинать со сложного» или «начинать с простого». Можно провести аналогию с обучением вождения на автоматической коробке передач и механическим аналогом. Автомат — начинаем с простого, механика — со сложного.

11 августа 2017 г. в Для студентов

Улучшение контрастности темы Material Theme редактора Visual Studio Code

Для Visual Studio Code есть несколько тем в стиле материального дизайна, и все они с недостатками: либо некорретная подстветка синтаксиса, либо проблемы с контрастностью.

04 сентября 2017 г. в Для студентов, Общее

Установка Composer на Ubuntu

Опыт установки composer’a в подсистему Ubuntu под Windows 10.
29 января 2018 г. в Linux, PHP, Windows

mocha и node.js

mocha — js фреймворк для тестирования
28 мартa 2018 г. в NodeJS, Для студентов

Ubuntu. Запускать Chrome с флагами из GUI

Алгоритм настройки Chrome для запуска из меню приложений с флагами

Как запустить sh скрипты в Linux?

Sanes

Miroslavux, так вам что нужно? Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет, или делать их исполняемыми?
Вместо sh может быть любая другая команда — например, ваш собственный скрипт, выполняющий с файлом нужные вам действия.

Miroslavux @Miroslavux Автор вопроса
Adamos, Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет

shambler81

Виктор Таран @shambler81 Куратор тега Linux

Запускаемость в линукс это атрибут, по этому ты можешь его установить или нет, и делается это через chmod
Второй вариан запустить сам интерпретатор и подать на него файл
Какой по вашему тут еще может быть третий вариант ?

если вы делаете это на компе руководителя то можно запускать команды по удаленке или просто по ssh

Adamos

Miroslavux, ну, так вам верно ответили — настроить открытие этих файлов в вашем DE программой sh.
Если DE не отличает sh-файлы от текстовых — сначала создать MIME-описание с уточнением маски *.sh.

1. положить все скрипты в одну папку и сделать доя нее -R +x
2. положить все файлы начальника на файловую систему где для nix все файлы всегда +х (как вариант smb)

ps: решение без задачи

Положите скрипты в папку с ntfs или fat32 там все файлы исполняемые 🙂
Saboteur @saboteur_kiev Куратор тега Linux
software engineer

Нужно просто осознать, что в Linux не существует ассоциаций файлов по расширениям.
Расширение для Линукса — просто часть файла после последней точки, система никаких действий к этому не привязывает.

Поэтому единственный способ делать .sh файлы исполняемыми — ставить на них флаг executable через
chmod +x file.sh

Другой вариант — запускать сам баш с передачей ему файла как аргумент (потому что бинарник bash-а уже с executable).
bash file.sh

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

astronaut808

astronaut808 @astronaut808
devops engineer

чтобы постоянно не указывать интерпретатор в терминале, можно сделать скрипт исполняемым.
1. указать в скрипте интепретатор — указать путь до bash-интерпретатора после #!
#!/bin/bash
по умолчанию он такой.
можно проверить whereis bash
2. выполнить команду, чтобы сделать исполняемым
chmod +x script.sh
3. после этого можно запускать его просто как ./script.sh

Ответ написан более трёх лет назад
Miroslavux @Miroslavux Автор вопроса

whereis bash
bash: /usr/lib/bash /bin/bash /usr/share/bash /usr/share/man/man1/bash.1.xz /usr/share/info/bash.info.xz

./script.sh
bash: ./script.sh: Отказано в доступе

А код такой
#!/bin/bash
echo «Hello world»

Как запустить файл .sh или Shell Script в Windows 10

Shell Scripts или .SH файлы похожи на командные файлы Windows, которые могут выполняться в Linux или Unix. В Windows 10 можно запустить файл .sh или Shell Script, используя подсистему Windows для Linux. В этом посте мы покажем вам, как запустить файл сценария оболочки в Windows 10.

Bash — это оболочка и командный язык Unix, который может запускать файлы Shell Script. Вам не нужно устанавливать Ubuntu или любые другие дистрибутивы Linux, если ваши сценарии не нуждаются в поддержке реального ядра Linux. Мы поделимся обоими методами.

  1. Выполнить файл сценария оболочки, используя WSL
  2. Выполнить сценарий оболочки с помощью Ubuntu в Windows 10

1] Выполнить файл сценария оболочки, используя WSL

Установите WSL или Windows Subsystem для Linux

Перейдите в Настройки → Обновление и безопасность → Для разработчиков. Проверьте переключатель режима разработчика. Ищите «Функции Windows», выберите «Включить или отключить функции Windows».

Прокрутите, чтобы найти WSL, установите флажок и установите его. После этого необходимо перезагрузить компьютер, чтобы завершить установку запрошенных изменений. Нажмите Перезагрузить сейчас. BASH будет доступен в командной строке и PowerShell.

Выполнить файлы сценариев оболочки

  • Откройте командную строку и перейдите в папку, где доступен файл сценария.
  • Введите Bash script-filename.sh и нажмите клавишу ввода.
  • Он выполнит скрипт, и в зависимости от файла вы должны увидеть вывод.

На платформе Linux вы обычно используете SH, но здесь вам нужно использовать BASH. Тем не менее, BASH в Windows имеет свои ограничения, поэтому, если вы хотите выполнить в среде Linux, вам нужно установить Ubuntu или что-то подобное.

2] Выполнить сценарий оболочки, используя Ubuntu в Windows 10

Убедитесь, что у вас установлен Ubuntu или любой другой дистрибутив Linux. Ubuntu смонтирует или сделает все ваши каталоги Windows доступными в /mnt. Таким образом, диск C доступен по адресу /mnt/C. Так что если рабочий стол будет доступен по адресу /mnt/c/users//desktop.

Теперь следуйте этим шагам

  1. В командной строке введите Bash, и он запустит приглашение distro.
  2. Перейдите в папку с помощью команды «cd» в папку, где доступны сценарии.
  3. Введите «sh script.sh» и нажмите ввод.
  4. Он выполнит сценарий, и если они зависят от каких-либо основных функций Linux.

Поскольку Linux теперь доступен в Windows, вам не нужно использовать какие-либо сторонние приложения, такие как Cygwin. WSL должно быть достаточно для большинства сценариев, чтобы помочь вам запустить сценарий оболочки в Windows 10.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *