Помогите запустить скрипт 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?
Miroslavux, так вам что нужно? Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет, или делать их исполняемыми?
Вместо sh может быть любая другая команда — например, ваш собственный скрипт, выполняющий с файлом нужные вам действия.
Miroslavux @Miroslavux Автор вопроса
Adamos, Исполнять любые sh файлы тычком мыши, неважно, исполняемые они или нет
Виктор Таран @shambler81 Куратор тега Linux
Запускаемость в линукс это атрибут, по этому ты можешь его установить или нет, и делается это через chmod
Второй вариан запустить сам интерпретатор и подать на него файл
Какой по вашему тут еще может быть третий вариант ?
если вы делаете это на компе руководителя то можно запускать команды по удаленке или просто по ssh
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
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. Мы поделимся обоими методами.
- Выполнить файл сценария оболочки, используя WSL
- Выполнить сценарий оболочки с помощью 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.
Теперь следуйте этим шагам
- В командной строке введите Bash, и он запустит приглашение distro.
- Перейдите в папку с помощью команды «cd» в папку, где доступны сценарии.
- Введите «sh script.sh» и нажмите ввод.
- Он выполнит сценарий, и если они зависят от каких-либо основных функций Linux.
Поскольку Linux теперь доступен в Windows, вам не нужно использовать какие-либо сторонние приложения, такие как Cygwin. WSL должно быть достаточно для большинства сценариев, чтобы помочь вам запустить сценарий оболочки в Windows 10.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.