Как мне запустить .sh файлы?

Всякий раз, когда я открываю файл .sh, он открывает его в gedit вместо терминала. Я не могу найти ни одной опции, похожей на . Щелкните правой кнопкой мыши Открыть с помощью Другое приложение ... Терминал .

Как открыть этот файл в терминале?

422
задан 11 February 2016 в 23:44

16 ответов

Дайте разрешение на выполнение вашего сценария:

chmod +x /path/to/yourscript.sh

И на выполнение вашего сценария:

/path/to/yourscript.sh

Так как . ссылается на текущий каталог: если yourcript.sh находится в текущем каталоге, вы можете упростить это до:

./yourscript.sh
616
ответ дан 11 February 2016 в 23:44

Вы также можете использовать . уловки, с предложением других ответов.

Например:

chmod + x filename.sh , если вы уже перешли по пути к файлу, затем запустите файл любой из этих команд:

sh filename.sh

./filename.sh

. filename.sh
-3
ответ дан 11 February 2016 в 23:44

Ну, я тоже столкнулся с той же самой проблемой. Я хотел выполнить .sh файл и он открылся с помощью Gedit на CentOS 7. Итак, вот что я сделал:

  1. -перешёл к пути к файлу .sh, который я хотел выполнить.
  2. -открыл терминал.
  3. -и просто перетащил и бросил в окно терминала, и он автоматически забрал этот файл вместе с путём в качестве входного.
  4. -Hit Enter - и вы готовы к работе!
1
ответ дан 11 February 2016 в 23:44

Есть несколько способов сделать это.

Вариант 1

  1. В терминале доступ к каталогу, в котором находится Bash-файл, осуществляется с помощью cd (каталог изменений).

    Ex. cd Downloads

  2. Run bash .sh

    Это также работает с .run файлами. Пример такого использования на этой веб-странице при обновлении Rhythmbox.

Вариант 2

  1. В терминале перейдите в каталог, в котором находится bash-файл.

  2. Запустите chmod +x <имя_фильмы>. sh

  3. В Nautilus, откройте файл.

6
ответ дан 11 February 2016 в 23:44

Для Ubuntu 18.04, есть небольшие изменения, так как вы не получаете всплывающее диалоговое окно.

Итак, что вам нужно сделать:

Щелкните правой кнопкой мыши на Файлы, выберите Параметры > Выберите вкладку Поведение > Отметьте "Спросить, что делать" в разделе Исполняемый текстовый файл.

Теперь, когда вы дважды щелкните на любом .sh файле, вы получите всплывающее окно, там вы можете выбрать опцию "запустить в терминале", чтобы запустить ваш .sh файл.

enter image description here

6
ответ дан 11 February 2016 в 23:44

2 основных шага.

  1. в терминале, используйте gedit, чтобы написать и сохранить скрипт с расширением «.sh» на рабочем столе. (но можно использовать любой текстовый редактор)

  2. откройте Nautilus и щелкните правой кнопкой мыши файл script.sh.

    • в разделе свойств установите флажок «Разрешить выполнение файла ..»

    • в меню Nautilus, щелкните файл, затем настройки , затем поведение

    • проверяет «запускать исполняемые текстовые файлы при их открытии».

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

5
ответ дан 11 February 2016 в 23:44

Проблема, которую я нашел на нескольких дистрибутивах, заключается в том, что они скрыли опцию предпочтений в Nautilus, но исправить ее в Ubuntu и других дистрибутивах, использующих Gnome3 - это то же самое (буквально только что сделала версию Fedora и разместила настоящее исправление, чтобы напомнить мне, как это будет происходить в будущем).

  1. Установите dconf-редактор

    sudo apt-get установочный dconf-редактор
    
  2. Запустите dconf-редактор dconf-редактор , используя нужную вам учетную запись пользователя, т.е. НЕ root

    dconf-редактор.
    
  3. Перейдите к следующей схеме:

    org.gnome.nautilus.preferences

  4. Измените параметр по умолчанию на не открывающийся по умолчанию:

    Найдите executable-text--activation щелкните по слову display и измените его на ask

, что даст вам возможность редактировать, просматривать или запускать файл вперёд

1
ответ дан 11 February 2016 в 23:44

Перейти в каталог, где находится файл .sh , используя cd . В этом примере я сохранил свой файл sh как ~ / Desktop / shell_practice / test.sh

сначала выполните pwd , чтобы выяснить, где вы находитесь, и если он возвращает / home / username (где username - ваше настоящее имя пользователя), вы можете запустить

cd Desktop/shell/practice

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

cd ~/Desktop/shell/practice

или

cd $HOME/Desktop/shell/practice

или даже

cd /home/$USER/Desktop/shell/practice

- все это способы описания одного и того же места. Как только вы доберетесь до места, где находится ваш скрипт, введите

ls

. Если вы видите файл sh в выводе, вы можете использовать chmod , чтобы сделать его исполняемым. В моем случае, помните, имя файла test.sh , поэтому я бы запустил

chmod u+x test.sh

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

./test.sh

Если ваш скрипт был написан правильно, он будет работать без ошибок ...

Вот живой пример: Here is live example

8
ответ дан 11 February 2016 в 23:44

Откройте терминал и перейдите в папку, в которой находится файл .sh . Затем введите:

sh <name of file>.sh
49
ответ дан 11 February 2016 в 23:44

В Ubuntu 13.04 исполняемые файлы, открытые в Nautilus, теперь по умолчанию открываются в gedit, а не запрашиваются пользователь для их выполнения. Чтобы включить классическое поведение, вам необходимо настроить параметры:

Nautilus → Меню Правка → Настройки → Вкладка Поведение → Каждый раз нажимайте переключатель рядом с параметром Спросить.

19
ответ дан 11 February 2016 в 23:44
  1. Щелкните правой кнопкой мыши файл .sh и сделайте его исполняемым.

  2. Откройте терминал ( Ctrl + Alt + T ).

  3. Перетащите файл .sh в окно терминала и с трепетом смотрите.

4
ответ дан 11 February 2016 в 23:44

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

  1. Щелкните правой кнопкой мыши на вашем файле .sh и выберите Свойства :

    enter image description here

  2. Во вкладке Разрешения , установите флажок Разрешить исполнять файл как программу :

    enter image description here

  3. Закройте окно Свойства и дважды щелкните по файлу. На экране появится диалоговое окно, позволяющее запустить скрипт в терминале:

    enter image description here

96
ответ дан 11 February 2016 в 23:44

Я новичок в Linux, и у меня была такая же проблема. Если ничего не помогает:

  1. Открыть терминал
  2. Откройте папку, содержащую файл .sh
  3. Перетащите файл в окно терминала
  4. Путь к файлу появится в терминале. Нажмите , введите .
  5. Вуаля, ваш файл .sh запущен.
1
ответ дан 11 February 2016 в 23:44

В Ubuntu 16.04 вот как открыть его в Терминале:

Перейдите в Диспетчер файлов> Правка> Настройки> Поведение для Исполняемых текстовых файлов и выберите Спрашивать каждый раз .

Проблема в том, что по умолчанию установлено значение Просмотр исполняемых файлов при их открытии .

3
ответ дан 11 February 2016 в 23:44

Если вы поместите ваш скрипт оболочки или другой исполняемый файл, который вы создаете в /usr/local/bin, он будет найден и выполнен без указания пути к папке в командной строке или добавления ./ в имя. Например, я создал следующий простой 3-строчный bash скрипт для отображения UUID диска:

#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
sudo blkid

Я вызвал uuid файла и поместил его в /usr/local/bin. Все, что мне нужно ввести в командной строке:

uuid
2
ответ дан 11 February 2016 в 23:44

Prerequisite

Prerequisite

Прежде чем вы сможете запустить .sh файл, вам необходимо сделать его исполняемым:

  1. Щелкните правой кнопкой мыши на файле
  2. Выберите Свойства
  3. Выберите Разрешение
  4. Выберите Разрешить выполнение файла как программы

Предупреждение

Убедитесь, что вы доверяете источнику, откуда вы получили файл. Это может быть вирус .

Очень простой способ

  1. Дважды щелкните по файлу
  2. Щелкните запускать его в терминале

У этого есть проблема. Терминал закроется немедленно, и вы не сможете увидеть вывод.

Простой способ

  1. Открыть приложения -> Принадлежности -> Терминал
  2. Перетащите .sh файл в терминал и нажмите Enter

Как это делают профессионалы

  1. Открыть приложения -> Принадлежности -> Терминал
  2. Найдите, где . sh файла

    • Используйте команды ls и cd
    • ls, которые перечисляют файлы и папки в текущей папке . Попробуйте: введите "ls" и нажмите Enter.
    • Как только вы увидите папку, в которую хотите зайти, запустите cd, затем пробел, за которым следует имя папки
    • Если вы зашли в папку, которая вам не нужна, запустите cd . . для перехода на один уровень вверх
  3. Запустите .sh файл

    • Как только вы увидите, например, script1.sh с ls, запустите:

      ./script.sh.
      

Почему это сложный способ?

Терминал имеет богатый набор мощных инструментов, которые доступны при наборе команд. Профессионалы находят .sh файл, набирая ls и cd. Находясь в правильной текущей папке , вы можете запустить скрипт следующим образом:

./script1.sh

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

./script1.sh > out.txt

или вы можете отфильтровать вывод по ключевым словам (например, "яблоки"), а затем перенаправить в файл:

./script1.sh | grep apples > ./only-apples

Есть тысячи вещей, которые вы можете сделать в этом файле, просто набрав несколько команд.

Другая, вы можете загрузить файл из Интернета одной простой командой:

wget www.google.com/images/logos/ps_logo2.png

А затем открыть файл следующим образом:

shotwell ps_logo2.png
29
ответ дан 11 February 2016 в 23:44

Другие вопросы по тегам:

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