Всякий раз, когда я открываю файл .sh, он открывает его в gedit вместо терминала. Я не могу найти ни одной опции, похожей на . Щелкните правой кнопкой мыши → Открыть с помощью → Другое приложение ... → Терминал .
Как открыть этот файл в терминале?
Дайте разрешение на выполнение вашего сценария:
chmod +x /path/to/yourscript.sh
И на выполнение вашего сценария:
/path/to/yourscript.sh
Так как .
ссылается на текущий каталог: если yourcript.sh
находится в текущем каталоге, вы можете упростить это до:
./yourscript.sh
Вы также можете использовать .
уловки, с предложением других ответов.
Например:
chmod + x filename.sh
, если вы уже перешли по пути к файлу, затем запустите файл любой из этих команд:
sh filename.sh
./filename.sh
. filename.sh
Ну, я тоже столкнулся с той же самой проблемой. Я хотел выполнить .sh файл и он открылся с помощью Gedit на CentOS 7. Итак, вот что я сделал:
.sh
, который я хотел выполнить.Есть несколько способов сделать это.
В терминале доступ к каталогу, в котором находится Bash-файл, осуществляется с помощью cd
(каталог изменений).
Ex. cd Downloads
Run bash
Это также работает с .run файлами. Пример такого использования на этой веб-странице при обновлении Rhythmbox.
В терминале перейдите в каталог, в котором находится bash-файл.
Запустите chmod +x <имя_фильмы>. sh
В Nautilus, откройте файл.
Для Ubuntu 18.04, есть небольшие изменения, так как вы не получаете всплывающее диалоговое окно.
Итак, что вам нужно сделать:
Щелкните правой кнопкой мыши на Файлы, выберите Параметры > Выберите вкладку Поведение > Отметьте "Спросить, что делать" в разделе Исполняемый текстовый файл.
Теперь, когда вы дважды щелкните на любом .sh файле, вы получите всплывающее окно, там вы можете выбрать опцию "запустить в терминале", чтобы запустить ваш .sh файл.
2 основных шага.
в терминале, используйте gedit, чтобы написать и сохранить скрипт с расширением «.sh» на рабочем столе. (но можно использовать любой текстовый редактор)
откройте Nautilus и щелкните правой кнопкой мыши файл script.sh.
в разделе свойств установите флажок «Разрешить выполнение файла ..»
в меню Nautilus, щелкните файл, затем настройки , затем поведение
проверяет «запускать исполняемые текстовые файлы при их открытии».
Теперь, когда вы дважды щелкните файл на рабочем столе, он должен запуститься.
нет необходимости в .
или ./
Проблема, которую я нашел на нескольких дистрибутивах, заключается в том, что они скрыли опцию предпочтений в Nautilus, но исправить ее в Ubuntu и других дистрибутивах, использующих Gnome3 - это то же самое (буквально только что сделала версию Fedora и разместила настоящее исправление, чтобы напомнить мне, как это будет происходить в будущем).
Установите dconf-редактор
sudo apt-get установочный dconf-редактор
Запустите dconf-редактор dconf-редактор
, используя нужную вам учетную запись пользователя, т.е. НЕ root
dconf-редактор.
Перейдите к следующей схеме:
org.gnome.nautilus.preferences
Измените параметр по умолчанию на не открывающийся по умолчанию:
Найдите executable-text--activation
щелкните по слову display
и измените его на ask
, что даст вам возможность редактировать, просматривать или запускать файл вперёд
Перейти в каталог, где находится файл .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
Если ваш скрипт был написан правильно, он будет работать без ошибок ...
Откройте терминал и перейдите в папку, в которой находится файл .sh
. Затем введите:
sh <name of file>.sh
В Ubuntu 13.04 исполняемые файлы, открытые в Nautilus, теперь по умолчанию открываются в gedit, а не запрашиваются пользователь для их выполнения. Чтобы включить классическое поведение, вам необходимо настроить параметры:
Nautilus → Меню Правка → Настройки → Вкладка Поведение → Каждый раз нажимайте переключатель рядом с параметром Спросить.
Щелкните правой кнопкой мыши файл .sh
и сделайте его исполняемым.
Откройте терминал ( Ctrl + Alt + T ).
Перетащите файл .sh
в окно терминала и с трепетом смотрите.
Вам нужно пометить скрипты оболочки как исполняемые, чтобы запустить их из файлового менеджера:
Щелкните правой кнопкой мыши на вашем файле .sh
и выберите Свойства :
Во вкладке Разрешения , установите флажок Разрешить исполнять файл как программу :
Закройте окно Свойства и дважды щелкните по файлу. На экране появится диалоговое окно, позволяющее запустить скрипт в терминале:
Я новичок в Linux, и у меня была такая же проблема. Если ничего не помогает:
В Ubuntu 16.04 вот как открыть его в Терминале:
Перейдите в Диспетчер файлов> Правка> Настройки> Поведение
для Исполняемых текстовых файлов
и выберите Спрашивать каждый раз
.
Проблема в том, что по умолчанию установлено значение Просмотр исполняемых файлов при их открытии
.
Если вы поместите ваш скрипт оболочки или другой исполняемый файл, который вы создаете в /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
Prerequisite
Прежде чем вы сможете запустить .sh файл, вам необходимо сделать его исполняемым:
Убедитесь, что вы доверяете источнику, откуда вы получили файл. Это может быть вирус .
У этого есть проблема. Терминал закроется немедленно, и вы не сможете увидеть вывод.
Найдите, где . sh файла
ls
и cd
ls
, которые перечисляют файлы и папки в текущей папке . Попробуйте: введите "ls" и нажмите Enter.cd
, затем пробел, за которым следует имя папки cd . .
для перехода на один уровень вверхЗапустите .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