В Windows я могу написать файл, содержащий команды для cmd (обычно файлы .cmd
или .bat
). Когда я нажимаю на эти файлы, он открывает cmd.exe
и запускает команды, содержащиеся в файле.
Как бы я сделал это в Ubuntu?
Я уверен, что это дубликат, но я не могу найти свой ответ.
Это похоже на эти вопросы, но они не отвечают на вопрос:
Есть два метода.
Во-первых, самый распространенный - это запись файла, убедитесь, что первая строка -
#!/bin/bash
Затем сохраните файл. Затем отметьте его исполняемым с помощью chmod + x file
. Затем, когда вы щелкнете (или запустите файл с терминала), команды будут выполнены. По соглашению эти файлы обычно не имеют расширения, однако вы можете сделать их заканчивающимися на .sh
или любым другим способом.
Несколько примечаний:
/ bin / python
, / bin / sh
, / bin / dash
, но даже нечетные шарики работают как / bin / mysql
файл bash / to / run.sh
Простой пример Bash
#!/bin/bash
echo "This is a shell script"
ls -lah
echo "I am done running ls"
SOMEVAR='text stuff'
echo "$SOMEVAR"
Второй метод - записать команды с помощью скрипта
. Запустите скрипт
и продолжайте делать что-нибудь. Когда вы закончите, наберите exit
, и скрипт сгенерирует для вас файл со всем тем, что вы сделали. Он используется реже, но вполне подходит для создания макросов. сценарий man
для получения дополнительной информации.
Эквивалентом пакетных файлов Windows являются сценарии оболочки, а отличное руководство по началу работы - Bash Scripting .
По большей части это команды, которые вы можете ввести в командной строке, можно поместить в сценарий оболочки.
Несколько вещей, которые отличаются от командных файлов Windows:
Существуют разные интерпретаторы команд, называемые оболочками. По умолчанию используется bash, но если вам интересно, есть и другие, такие как zsh, ksh, dash, perl, python и т. Д.
Чтобы запустить сценарий оболочки, вам нужно сделать файл исполняемым, что вы можете сделать с chmod + x
В Ubuntu текущий каталог не является путем поиска программы, поэтому вам нужно запустить ./
, а не
Имена переменных: $
, а не %
Команды в сценарии оболочки не печатаются по умолчанию, как в пакетном файле.
расширение имени файла может быть .sh
или (более привычно), вам не нужно использовать расширение. Поместите #! / Bin / bash
в самую первую строку файла , который сообщает Ubuntu, какую программу использовать для запуска файла.
Комментарии начинаются с #
, а не rem
.
Надеюсь, это поможет и получайте удовольствие от написания сценариев!
Вы имеете в виду запись в файл с помощью сценария оболочки? Вот несколько способов:
touch file
Этот метод просто создаст файл, но если файл уже существует, он просто изменит дату изменения на время, когда вы использовали эту команду.
echo "text" > file
Этот метод перезаписывает содержимое файл
в текст
. Если вы хотите очистить файл, вы можете просто сделать это:
echo "" > file
Допустим, вы хотите записать в него более одной строки и не хотите использовать тысячи команд echo
, вы бы используйте эту команду:
cat << EOF > file
test
test1
foo
bar
EOF
Это позволяет вам писать несколько строк в одной команде. Тогда содержимое файла
будет следующим:
test
test1
foo
bar
Если вы хотите добавить в файл, замените >
на >>
.
Надеюсь на это помогает!
РЕДАКТИРОВАТЬ : О, понятно, поэтому вы должны написать файл в gedit, используя расширение .sh
(необязательно, но это хорошая идея), а затем в файл Диспетчер, щелкните файл правой кнопкой мыши, выберите «Свойства»> «Разрешения» и установите флажок Разрешить выполнение файла как программы
. Затем вы можете дважды щелкнуть по нему, и он запустится :). Кроме того, если вы хотите сделать это в терминале, вы можете запустить эту команду, чтобы сделать его исполняемым (вы можете добавить sudo
, если он вам не принадлежит):
chmod +x file
И для запуска :
./file