Как я могу сделать .sh ярлык? [dубликат]

Когда я открываю файл .sh, он открывается в gedit вместо терминала. Я не могу найти какой-либо вариант, похожий на правый клик → Открыть с → Другое приложение ... → Терминал.

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

270
задан 12 February 2016 в 00:44

26 ответов

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

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

Щелкните правой кнопкой мыши файл. Выберите «Свойства». Выберите «Разрешения». Выберите «Разрешить выполнение файла как program

Warning

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

Самый простой способ

Щелкните правой кнопкой мыши на файле Нажмите «Запустить» в терминале

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

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

Нажмите кнопку запуска в терминале Выберите «Свойства»

Как это делают профессионалы [ ! d22] Открытые приложения -> Аксессуары -> Терминал Найдите, где .sh-файл. Команды ls и cd ls будут перечислять файлы и папки в текущей папке. Попробуйте: введите «ls» и нажмите Enter. Когда вы увидите папку, в которую хотите войти, запустите cd, а затем пробел, а затем имя папки. Если вы в папку, которую вы не хотите, запустите cd .., чтобы перейти на один уровень вверх Выберите «Разрешения»

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

Терминал имеет богатый набор мощных инструментов, доступных для ввода команд. Профессионалы найдут файл .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
21
ответ дан 18 July 2018 в 14:27

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

Например:

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

sh filename.sh ./filename.sh . filename.sh
-2
ответ дан 18 July 2018 в 14:27
Щелкните правой кнопкой мыши файл .sh и сделайте его исполняемым. Откройте терминал (Ctrl + Alt + T). Перетащите файл .sh в окно терминала и смотрите в страхе.
1
ответ дан 18 July 2018 в 14:27

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

sh <name of file>.sh
17
ответ дан 18 July 2018 в 14:27

Если вы поместите свой сценарий оболочки или другой исполняемый файл, который вы создаете в / 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
1
ответ дан 18 July 2018 в 14:27

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

Я перешел к пути к файлу .sh, который я хотел выполнить. Я открыл терминал. И я просто перетащил и опустил окно терминала, и он автоматически взял этот файл вместе с пустым в качестве ввода. Нажмите Enter, и вы готовы к работе!
0
ответ дан 18 July 2018 в 14:27

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

Щелкните правой кнопкой мыши по файлу .sh и выберите «Свойства». На вкладке «Разрешения» установите флажок «Разрешить выполнение файла в виде программы: Закройте окно «Свойства» и дважды щелкните файл. Появится диалоговое окно, дающее вам возможность запускать скрипт в терминале:
70
ответ дан 18 July 2018 в 14:27

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

chmod +x /path/to/yourscript.sh

И для запуска вашего скрипта:

/path/to/yourscript.sh

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

./yourscript.sh
359
ответ дан 18 July 2018 в 14:27

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

в терминале, используйте gedit для записи и сохранения сценария с расширением «.sh» на рабочем столе. (но можно использовать любой текстовый редактор), откройте Nautilus и щелкните правой кнопкой мыши файл script.sh. по свойствам, установите флажок «разрешить выполнение файла ..» в меню «Наутилус», нажмите «Файл», затем «Настройки», затем выполните проверку «запустить исполняемые текстовые файлы при их открытии».

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

2
ответ дан 18 July 2018 в 14:27

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

Nautilus → Меню «Правка» → «Настройки» → вкладка «Поведение» → каждый раз щелкайте переключателем рядом с запросом «Ask»

14
ответ дан 18 July 2018 в 14:27

В Ubuntu 16.04 это как открыть его в Terminal:

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

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

2
ответ дан 18 July 2018 в 14:27

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

Открыть терминал. Откройте папку, содержащую файл .sh. Перетащите файл в окно терминала. Путь файла появится в терминале. Нажмите Ввод. Voila, ваш .sh-файл запущен.
0
ответ дан 18 July 2018 в 14:27

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

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

Вот живой пример:

4
ответ дан 18 July 2018 в 14:27

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

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

Щелкните правой кнопкой мыши файл. Выберите «Свойства». Выберите «Разрешения». Выберите «Разрешить выполнение файла как program

Warning

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

Самый простой способ

Щелкните правой кнопкой мыши на файле Нажмите «Запустить» в терминале

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

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

Нажмите кнопку запуска в терминале Выберите «Свойства»

Как это делают профессионалы [ ! d22] Открытые приложения -> Аксессуары -> Терминал Найдите, где .sh-файл. Команды ls и cd ls будут перечислять файлы и папки в текущей папке. Попробуйте: введите «ls» и нажмите Enter. Когда вы увидите папку, в которую хотите войти, запустите cd, а затем пробел, а затем имя папки. Если вы в папку, которую вы не хотите, запустите cd .., чтобы перейти на один уровень вверх Выберите «Разрешения»

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

Терминал имеет богатый набор мощных инструментов, доступных для ввода команд. Профессионалы найдут файл .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
21
ответ дан 24 July 2018 в 20:24
  • 1
    Я не уверен, что Как это делают профессионалы , это более простой способ продвинутый (для управления выходом) путь – Hailwood 1 May 2011 в 09:24

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

Например:

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

sh filename.sh ./filename.sh . filename.sh
-2
ответ дан 24 July 2018 в 20:24
  • 1
    warning : Эти три команды эквивалентны , а не . Если ваш shebang ссылается на другой двоичный файл (например, Stack), то третья команда будет пытаться разбирать аргументы с Bash, что не удастся. – Jezen Thomas 18 February 2017 в 15:12
Щелкните правой кнопкой мыши файл .sh и сделайте его исполняемым. Откройте терминал (Ctrl + Alt + T). Перетащите файл .sh в окно терминала и смотрите в страхе.
1
ответ дан 24 July 2018 в 20:24
  • 1
    Добро пожаловать в Ask Ubuntu! Я рекомендую изменить этот ответ, чтобы развернуть его с подробными сведениями о том, как сделать первый шаг. (См. Также Как написать хороший ответ? для общих советов о том, какие ответы наиболее ценны для AskUbuntu.) – David Foerster 10 June 2017 в 18:49

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

sh <name of file>.sh
17
ответ дан 24 July 2018 в 20:24

Если вы поместите свой сценарий оболочки или другой исполняемый файл, который вы создаете в / 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
1
ответ дан 24 July 2018 в 20:24

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

Я перешел к пути к файлу .sh, который я хотел выполнить. Я открыл терминал. И я просто перетащил и опустил окно терминала, и он автоматически взял этот файл вместе с пустым в качестве ввода. Нажмите Enter, и вы готовы к работе!
0
ответ дан 24 July 2018 в 20:24

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

Щелкните правой кнопкой мыши по файлу .sh и выберите «Свойства». На вкладке «Разрешения» установите флажок «Разрешить выполнение файла в виде программы: Закройте окно «Свойства» и дважды щелкните файл. Появится диалоговое окно, дающее вам возможность запускать скрипт в терминале:
70
ответ дан 24 July 2018 в 20:24
  • 1
    Хороший w / скриншоты – gd1 1 May 2011 в 14:32
  • 2
    Это не работает в Ubuntu 13.04. Так или иначе, он все равно открывает в gedit, никогда не просит меня выполнить. Редактировать: Nvm, imjustmatthew отвечает на это. – mpen 12 July 2013 в 21:27
  • 3
    Прежде чем использовать это, нам нужно сделать разрешение файла для выполнения с помощью chmod. chmod + x filename.sh или chmod 755 filename.sh – Arvind Rawat 16 March 2017 в 19:11
  • 4
    У меня нет всплывающего окна! IDE открывается сразу, а не всплывающее окно – Green 4 April 2018 в 13:56
  • 5
    Почему я не могу найти «запустить в терминале»? где-нибудь на моем интерфейсе? (Ubuntu 18.04) – Daniel Möller 10 May 2018 в 01:08

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

chmod +x /path/to/yourscript.sh

И для запуска вашего скрипта:

/path/to/yourscript.sh

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

./yourscript.sh
361
ответ дан 24 July 2018 в 20:24
  • 1
    +1 только ответ, чтобы показать добавление разрешений на выполнение только в терминале. – Hailwood 1 May 2011 в 08:24
  • 2
    Если вы выполняете bash /path/to/yourscript.sh, вам не нужно chmod +x – Aleksandr Levchuk 1 May 2011 в 09:51
  • 3
    Фактически, вы можете использовать . /path/to/yourscript.sh, если скрипт должен установить некоторые переменные среды. – Rob 1 May 2011 в 15:46
  • 4
    Никто не упоминает традиционный: ./path/to/yourscript.sh (без пробела после .)? Я считаю, что один из них является самым простым и простым в использовании ... Но в любом случае, вот моя альтернатива, которая должна делать почти то же самое, что и ./, хотя я не понимаю, почему вы не будете использовать ./: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME) ... отредактируйте FILENAME по своему усмотрению. Также обратите внимание, что sh будет использоваться, если альтернативы нет. – MiJyn 19 June 2013 в 08:50

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

в терминале, используйте gedit для записи и сохранения сценария с расширением «.sh» на рабочем столе. (но можно использовать любой текстовый редактор), откройте Nautilus и щелкните правой кнопкой мыши файл script.sh. по свойствам, установите флажок «разрешить выполнение файла ..» в меню «Наутилус», нажмите «Файл», затем «Настройки», затем выполните проверку «запустить исполняемые текстовые файлы при их открытии».

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

2
ответ дан 24 July 2018 в 20:24

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

Nautilus → Меню «Правка» → «Настройки» → вкладка «Поведение» → каждый раз щелкайте переключателем рядом с запросом «Ask»

14
ответ дан 24 July 2018 в 20:24
  • 1
    Человек, задавший вопрос, говорит о Ubuntu 10.10 – edwin 11 June 2013 в 05:48
  • 2
    Спасибо!!! Я не знаю, почему они изменили это, не могли понять, как выполнить что-либо. – mpen 12 July 2013 в 21:28
  • 3
    Это правильный ответ для последней ubuntu. – gaRex 11 April 2015 в 14:44
  • 4
    Как вы добираетесь до Наутилуса в 15.10? – Yaakov Ainspan 23 May 2016 в 20:54

В Ubuntu 16.04 это как открыть его в Terminal:

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

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

2
ответ дан 24 July 2018 в 20:24

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

Открыть терминал. Откройте папку, содержащую файл .sh. Перетащите файл в окно терминала. Путь файла появится в терминале. Нажмите Ввод. Voila, ваш .sh-файл запущен.
0
ответ дан 24 July 2018 в 20:24

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

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

Вот живой пример:

4
ответ дан 24 July 2018 в 20:24
  • 1
    Это помогло мне установить Netbeans на ubuntu – RuD3B0y 7 January 2018 в 00:16
  • 2
    Wb, @ RuD3B0y, я старался держать ответы лучше всего для noobs, без высокотехнологичного контента, если у вас есть некоторые изменения, которые вам нравятся. – TheExorcist 2 April 2018 в 20:58

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

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