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

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

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

311
задан 12.02.2016, 08:44

16 ответов

Дайте разрешение на выполнение вашему сценарию:

chmod +x /path/to/yourscript.sh

И чтобы запустить ваш сценарий:

/path/to/yourscript.sh

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

./yourscript.sh
0
ответ дан 24.04.2019, 15:14
  • 1
    +1 только ответ для показа добавления выполняют полномочия в терминале только путь. – Zaheer Ahmed 01.05.2011, 17:24
  • 2
    Если Вы делаете bash /path/to/yourscript.sh тогда Вы don' t потребность chmod +x – dazzle 01.05.2011, 18:51
  • 3
    На самом деле можно использовать . /path/to/yourscript.sh, если сценарий должен настроить некоторые переменные среды. – Brian Armstrong 02.05.2011, 00:46
  • 4
    Никто не упоминает традиционное: ./path/to/yourscript.sh (без пространства после .)? Я нахожу, что каждый является самым простым и легким для использования... Но так или иначе, вот моя альтернатива, которая должна сделать, почти то же как ./ было бы, хотя я don' t видят почему Вы wouldn' t использование ./: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)... редактирование FILENAME к Вашей симпатии. Также обратите внимание, что sh будет использоваться, если не будет никакой альтернативы. – Marius Schulz 19.06.2013, 17:50

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

Например:

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

sh filename.sh

./filename.sh

. filename.sh
0
ответ дан 24.04.2019, 15:14
  • 1
    предупреждение : Эти три команды не эквивалентны. Если Ваша хижина сошлется на различный двоичный файл (как Стек), то третья команда попытается анализировать споры с Bash, который перестанет работать. – Nooblhu 18.02.2017, 23:12

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

  1. Установить dconf-editor

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

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

    org.gnome.nautilus.preferences

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

    Найдите executable-text-activation, нажмите на слово display и измените на ask

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

0
ответ дан 24.04.2019, 15:14

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

  1. Я перешел к пути к файлу .sh, который я хотел выполнить. [ 111]
  2. Я открыл терминал.
  3. И я просто перетянул окно терминала, и он автоматически принял этот файл вместе с путем в качестве ввода.
  4. Нажмите Enter, и все готово!
0
ответ дан 24.04.2019, 15:14

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

  1. Открыть терминал
  2. Открыть папку, содержащую файл .sh
  3. Перетащите файл в окно терминала
  4. Путь к файлу появляется в терминале. Нажмите Enter .
  5. Вуаля, ваш файл .sh запущен.
0
ответ дан 24.04.2019, 15:14

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

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

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

uuid
0
ответ дан 24.04.2019, 15:14

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

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

Щелкните правой кнопкой мыши «Файлы», выберите «Настройки»> «Выбрать вкладку поведения»> «Пометить, что делать» в тексте исполняемого файла. [114 ]

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

enter image description here

0
ответ дан 24.04.2019, 15:14
  1. Щелкните правой кнопкой мыши файл .sh и сделайте его исполняемым.

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

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

0
ответ дан 24.04.2019, 15:14
  • 1
    Добро пожаловать для Выяснения у Ubuntu! Я рекомендую редактирование этот ответ развернуть его с определенными деталями о том, как сделать первый шаг. (См. также , Как я пишу хороший ответ? для общих рекомендаций о том, какие виды ответов считают самыми ценными на AskUbuntu.) – Josh David Miller 11.06.2017, 04:49

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

Вариант 1

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

    Пример. cd Downloads

  2. Выполнить bash <filename>.sh

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

Опция 2

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

  2. Выполнить chmod +x <filename>.sh

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

0
ответ дан 24.04.2019, 15:14

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

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

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

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

    • в меню «Наутилус», выберите файл, затем настройки, затем поведение

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

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

0
ответ дан 24.04.2019, 15:14

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

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

0
ответ дан 24.04.2019, 15:14
  • 1
    Человек, который задал вопрос, говорит о Ubuntu 10.10 – Community 11.06.2013, 14:48
  • 2
    Спасибо!!! Я don' t знают почему they' d изменяют это, couldn' t выясняют, как выполнить что-либо. – ndequeker 13.07.2013, 06:28
  • 3
    Это - правильный ответ для последнего ubuntus. – Ungallery 12.04.2015, 00:44
  • 4
    Как пройти Наутилус в 15,10? – Valentyn Shybanov 24.05.2016, 06:54
  • 5
    С Ubuntu 18.04 можно получить доступ к предпочтениям путем открытия каталога и затем нажатия " Файлы-> Preferences" в главной панели. – Umur Kontacı 18.11.2018, 08:04

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

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

    enter image description here

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

    enter image description here

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

    enter image description here

0
ответ дан 24.04.2019, 15:14
  • 1
    Этот isn' t работающий в Ubuntu 13.04. Продолжает открываться в gedit так или иначе, никогда не просит, чтобы я выполнился.Править: Nvm, imjustmatthew отвечает на это. – Sharondio 13.07.2013, 06:27
  • 2
    Перед использованием этого мы должны сделать разрешение файла для, выполняют использование chmod. chmod +x filename.sh или chmod 755 filename.sh – AndroidDev 17.03.2017, 03:11
  • 3
    Я don' t имеют всплывающее окно! IDE немедленно открыт, не всплывающее окно – psychowood 04.04.2018, 23:56
  • 4
    Каким образом я can' t находят " выполненный в terminal" где-нибудь в моем интерфейсе? (Ubuntu 18.04) – Mahbub 10.05.2018, 11:08
  • 5
    @DanielMö ller, вот ответ на Ваш вопрос. askubuntu.com/questions/38661/how-do-i-run-sh-files/… – mb21 16.08.2018, 23:19

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

Перейдите на File Manager > Edit > Preferences > Behavior для Executable Text Files и выберите Ask each time.

Проблема в том, что по умолчанию установлено значение View Executable Files when they are opened.

0
ответ дан 24.04.2019, 15:14

Предварительные условия

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

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

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

]

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

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

  1. Дважды щелкните файл
  2. Нажмите Run в терминале

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

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

  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
0
ответ дан 24.04.2019, 15:14
  • 1
    Я не уверен, что способ, которым профессионалы делают это , корректен, it' s больше случай простой путь усовершенствованный (для для управления вывода) путь – Hearen 01.05.2011, 18:24

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

sh <name of file>.sh
0
ответ дан 24.04.2019, 15:14
  • 1
    Настолько простой... – AndroidDev 29.01.2019, 19:09
  • 2
    лучший способ открыть любое приложение. Перейдите к .sh каталогу, тогда открывают его в командной строке. использование sh < название файла как показано above> .sh, если это требует разрешения, используют chmod +x/path/to/yourscript.sh или щелчок правой кнопкой и разрешение изменения ко всем – Hearen 19.03.2019, 21:23

Перейдите в каталог, где находится файл .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

или даже [1124 ]

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

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

ls

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

chmod u+x test.sh

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

./test.sh

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

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

0
ответ дан 24.04.2019, 15:14

Теги

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