Помогите запустить скрипт 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
Как запустить 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»
Build sh как запустить
What’s on this Page
.SH вариант №
Файл с расширением .sh представляет собой файл команд языка сценариев, который содержит компьютерную программу, запускаемую оболочкой Unix. Он может содержать ряд команд, которые выполняются последовательно для выполнения таких операций, как обработка файлов, выполнение программ и другие подобные задачи. Они выполняются из интерфейса командной строки пользователем или в пакетном режиме для одновременного выполнения нескольких операций. Файлы сценариев можно открывать в текстовых редакторах, таких как Notepad, Notepad++, Vim, Apple Terminal и других подобных приложениях в ОС Windows, MacOS и Linux.
Формат файла SH
Файлы SH записываются в виде обычного текста в соответствии с определенным синтаксисом. Эти файлы сценариев поддерживают:
- «Комментарии» — комментарии начинаются с # и игнорируются оболочкой.
- «Ярлыки» — их можно использовать для переименования команды для быстрого и легкого выполнения.
- «Пакетные задания» — несколько команд могут выполняться автоматически, которые в противном случае нужно было бы вводить вручную. Это избавляет от необходимости ждать, пока пользователь запустит каждый этап последовательности.
- Обобщение — с помощью простых циклов достигается гораздо большее обобщение для таких операций, как преобразование изображений из одного формата в другой.
Пример SH-файла
$ echo '#!/bin/sh' > my-script.sh $ echo 'echo Hello World' >> my-script.sh $ cat my-script.sh #!/bin/sh echo Hello World $ chmod 755 my-script.sh $ ./my-script.sh Hello World
Как запустить файл SH?
Файлы SH обычно работают в Linux, даже в Windows вам необходимо подключиться к терминалу Linux с помощью программного обеспечения, такого как Putty, для запуска файлов sh. Ниже приведены шаги для запуска файла SH на терминале Linux.
- Откройте терминал Linux и перейдите в каталог, где находится файл SH.
- Используя команду chmod , установите разрешение на выполнение вашего скрипта (если оно еще не установлено).
- Запустите скрипт одним из следующих способов.
- ./имя_файла.sh
- sh имя_файла.sh
- bash имя-скрипта-здесь.sh
использованная литература
- Bashscripting для начинающих
- Шеллскрипт
See Also
- M — файл исходного кода Matlab
- MF — формат файла манифеста Java
- КСПРОЖ
- СЛН
- Формат файла PDB — файл базы данных программы
Как запустить файл .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. Количество оценок:
Оценок пока нет. Поставьте оценку первым.