- Как создать пакетный файл и запустить его? [dубликат]
- 6 ответов
- Bat – клон cat с подсветкой синтаксиса и интеграцией Git для Linux
- Установка
- Использование команды Bat
- Команды Linux cat и bat , отличия и сходства
- Пример вывода
- Настройка Bat
- sgww
- WWW.SGWW.RU
- живой журнал SGWW
- Командные файлы Linux
- Управление Linux через .bat
Как создать пакетный файл и запустить его? [dубликат]
следует ли использовать текстовый редактор? расширение должно быть .sh или .bat?
6 ответов
Для создания одного используйте расширение .sh, но это не имеет особого значения, но оно помогает будущим пользователям быстро определить, какой тип файла он есть. Имя bat в основном используется в Windows, но в расширениях имен файлов Linux не имеет большого значения. Это означает, что я могу назвать свой файл say run.de, и он все равно будет работать в файле bash, но я считаю, что рекомендуется использовать их с расширением файла .sh.
Для редактора часть использует любое, что лучше для вас между nano vim gedit emacs, но я считаю, что gedit было бы неплохо начать с.
с использованием текстового редактора gedit: [ ! d3] Создать файл: gedit runme.sh Добавить код в файл: #!/bin/bash echo «Hello World!» Сделать исполняемым файл: chmod +x runme.sh Запустить файл с терминала: ./runme.sh
В linux это скрипты bash. Вы можете использовать большинство редакторов, и вы можете назвать это так, как хотите, Linux не использует расширения, такие как .sh или .bat или .exe для .doc для идентификации файлов, использует магию.
Возможно, gedit для графического редактора и nano из командной строки.
Избегайте текстовых процессоров, таких как libre office, поскольку они добавляют заголовки, которые вам не нужны.
http: //www.linfo. org / magic_number.html
Чтобы написать сценарий bash, запустите файл с помощью «SheBang» или #! / bin / bash
#!/bin/bash # comments start with a ‘#» command 1 command 2
Источник
Bat – клон cat с подсветкой синтаксиса и интеграцией Git для Linux
В Unix-подобных системах мы используем команду «cat» для вывода и связи файлов.
Используя команду cat, мы можем вывести содержимое файла в стандартном виде, объединить несколько файлов в целевой файл и добавить несколько файлов в целевой файл.
Сегодня я наткнулся на аналогичную утилиту под названием «Bat», клон для команды cat, с некоторыми дополнительными классными функциями, такими как подсветка синтаксиса, интеграция git и автоматическая подкачка и т. д.
В этой статье мы установим и потестируем Bat и его команды в Linux.
Установка
Bat также доступен в репозиториях по умолчанию Arch Linux. Таким образом, вы можете установить его с помощью pacman в любых системах на основе arch.
В Debian, Ubuntu, Linux Mint, загрузите файл .deb со страницы релиза и установите его, как показано ниже.
Для других систем вам может потребоваться компиляция и установка из исходников.
Убедитесь, что вы установили Rust 1.26 или выше.
Кроме того, вы можете установить его с помощью диспетчера пакетов Linuxbrew.
Использование команды Bat
Команды Linux cat и bat , отличия и сходства
Команда Bat очень похожа на команду cat.
Чтобы создать новый файл с помощью команды bat, выполните следующие действия:
Чтобы просмотреть содержимое файла с помощью команды bat, просто выполните:
Таким образом, вы можете просматривать сразу несколько файлов:
Чтобы добавить содержимое нескольких файлов в один файл:
Как я уже сказал, помимо просмотра и редактирования файлов, команда Bat имеет некоторые дополнительные интересные функции.
Команда bat поддерживает подсветку синтаксиса для большого количества языков программирования и разметки.
Например, посмотрите на следующий пример.
Я собираюсь отобразить содержимое файла reverse.py с помощью команд cat и bat.
Вы заметили разницу? В текстовом формате команда выводит выходные данные с подсветкой синтаксиса, номерами строк в аккуратном формате табличного столбца.
Гораздо лучше, не так ли?
Если вы хотите отображать только номера строк (не табличные столбцы), используйте флаг -n.
Пример вывода
Еще одна заметная особенность команды Bat – поддержка автоматической подкачки.
Это означает, что вы можете читать выводы страница за страницей.
Позвольте мне показать вам пример.
Когда вы выводите содержимое файла в несколько страниц, используя команду cat, она быстро перескакивает на последнюю страницу файла, и вы не видите контент в начале или посередине.
Посмотрите следующий результат:
Как вы можете видеть, команда cat отображает последнюю страницу файла.
Таким образом, вам может потребоваться прочитать содержимое этого документа с командой less.
Теперь вы можете увидеть страницу, нажав клавишу ENTER.
Тем не менее, это не обязательно, если вы используете команду bat.
Команда bat автоматически выведет часть файла, которая охватывает несколько страниц.
Просто нажимайте клавишу Enter и двигайтесь вниз по файлу.
Команда bat также поддерживает интеграцию GIT, поэтому вы можете просматривать / редактировать файлы в своем репозитории Git без особых хлопот.
Настройка Bat
Если вам не нравятся темы по умолчанию, вы также можете изменить их.
У Bat есть опция для этого.
Чтобы просмотреть доступные темы, просто запустите:
Чтобы использовать другую тему, например, TwoDark, выполните:
Источник
sgww
WWW.SGWW.RU
живой журнал SGWW
Командные файлы Linux
В Linux, так же как и в операционных системах семейства Microsoft Windows можно создавать командный файл . которые содержат в себе набор команд интерпретатора shell. Такие файлы имеют свой синтаксис, который позволяет оперировать такими структурами как циклы и условия. Далее основы shell программирования linux на примере командной строки ubuntu 9.04 и интерпретатора bash.
Основы
Запишем в файл sample последовательность команд
$ cat sample
pwd
ls
echo The END
А теперь выполним эти команды
$ sh sample
/home/sgww
cpp file.txt mydaemon net_sh perl php sample
The END
Таков принцип .
Командный файл легко сделать исполняемым
$ chmod +x sample
$ /home/sgww/sample
/home/sgww
cpp file.txt mydaemon net_sh perl php sample
The END
$ cat sample
read x #вводим x
read y #вводим y
echo `expr $x ‘*’ $y + 7`
Всё что за знаком # это коментарий и интерпритатором не воспринимается
Не относится к оболочке csh!
Параметры
$1, $2 . $9 — позволяют задавать аргументы командной строки для выполняемого файла
$ cat sample
echo the first parameter: $1
echo the second parametr: $2
echo the third parameter: $3
ls $1 $2 $3
$ /home/sgww/sample -l -s -r
the first parameter: -l
the second parametr: -s
the third parameter: -rtotal 28
4 -rwxr-xr-x 1 sgww sgww 100 Mar 2 11:19 sample
4 drwxr-xr-x 2 sgww sgww 4096 Dec 15 16:52 php
4 drwxr-xr-x 2 sgww sgww 4096 Feb 1 15:39 perl
4 -rw-r—r— 1 sgww sgww 79 Mar 1 16:16 net_sh
4 drwxr-xr-x 2 sgww sgww 4096 Feb 1 17:15 mydaemon
4 -rw-r—r— 1 sgww sgww 56 Mar 1 17:18 file.txt
drwxr-xr-x 2 sgww sgww 4096 Feb 1 17:15 cpp
$# — задает общее количество параметров с которым вызывается командный файл
$ cat sample
echo total parameters are: $#
$ sample param1 param2 param3
total parameters are: 3
$* — содержит сразу все параметры
$ cat sample
echo total parameters are: $*
$ sample All parameters are in this variable
total parameters are: All parameters are in this variable
Переменные
Имя переменной может начинаться с буквы или символа подчереркивания
знак равенства(=) это оператор присваиивания
_var=1
_word =slovo
value=»t ak aia dli nna iain epo niat naia str oka»
Тип данных переменных shell это всегда строка символов!
$ cat sample
_string=»Hello from Perm»
echo $_string
$ /home/sgww/sample
Hello from Perm
результат выполения команды в переменную (команда обрамляется обратными апострофами)
$cat sample
_date=`date`
echo $_date
$/home/sgww/sample
Tue Mar 2 11:41:30 YEKT 201
ввод значения переменной в консоли
$ cat sample
echo Enter data:
read data1
read data2
echo Your data: $data1 and $data2
$ /home/sgww/sample
Enter data:
Linux
Windows
Your data: Linux and Windows
Системные переменные
$ cat sample
echo $PATH
echo $HOME
echo $MAIL
echo $SHELL
$ /home/sgww/sample
/usr/local/bin:/usr/bin:/bin:/usr/bin/X1 1:/usr/games
/home/sgww
/var/mail/sgww
/bin/bash
PATH — пути поиска исполняемых файло (так как каталога /home/sgww/ там нет, постояно приходилось писать полный путь /home/sgww/sample для выполнения команды)
HOME — домашний каталог
MAIL — файл электронной почты
SHELL — оболочка в которой работаем
Добавим к переменной PATH каталог HOME что бы не приходилось постоянно писать полный путь
$ cat sample
PATH=$PATH:$HOME
Эти строки следует добавить в
/.bash_profile
теперь нет необходимости писать полный путь до команды
Специальные символы
* — любая последовательность, любых символов
? — один любой символ
[. ] — любой из символов диапазона
$echo *
cpp file.txt mydaemon net_sh perl php sample
$ echo «*»
*
$ cat sample
text=»This is a text»
echo ‘$text’
$ sample
$text
$ cat sample
text=»This is a text»
echo \$text
$ sample
$text
$ cat sample
text=`pwd`
echo $text
$ sample
/home/sgww
Арифметические операции
Для выполнения арифметических операций в командном файле понадобиться команда expr
$ expr 7 + 96
103
$ expr 87 — 555
-468
$ expr 18 / 2
9
$ expr 19 / 2
9
$ expr 19 % 2
1
$ expr 6 \* 32
192
$ expr 6 ‘*’ 32
192
$ expr 6 * 32
expr: syntax error
Если при умножении не поставить \ или » то * будет восприниматься как любой символ
Стоит отметить, что \ — это не деление, а целая часть от деления, операция % дает остаток от деления
Переменные окружения, команда export и unset
Для взаимодейстивя с другими процессами могут пригодияться переменные окружения
Их полный списко можно посмотреть командой export
$ export
declare -x HISTCONTROL=»ignoreboth»
declare -x HOME=»/home/sgww»
declare -x LESSCLOSE=»/usr/bin/lesspipe %s %s»
declare -x LESSOPEN=»| /usr/bin/lesspipe %s»
declare -x LOGNAME=»sgww»
.
Задать свою переменную
$ name=Pavel && export name
$ echo $name
Pavel
$ unset name
$ echo name
Условие IF
Для составления условных выражений оператора if очень полезна программа test.
$ cat sample
if test -r sample
then
echo True
else
echo False
fi
$ sample
True
В этом примере test -r sample — это условие
echo True выполняется если условие истино
echo False если ложно
Программа test предназначена для проверки типов файлов и сравнения значений
$test -r file # Истино если файл file существует и доступен для чтения
$test -w file # Истино если файл file существует и доступен для записи
$test -x file # Истино если файл file существует и доступен для выполнения
$ x=32 && export x
$ y=32 && export y
$test $x -eq $y # Истино если $x равен $y
$test $x -en $y # Истино если $x не равен $y
$test $x -ge $y # Истино если $x больше или равен $y
$test $x -gt $y # Истино если $x больше $y
$test $x -le $y # Истино если $x меньше или равен $y
$test $x -lt $y # Истино если $x меньше $y
Остальные параметры можно посмотреть в man test
Цикл FOR
$ cat sample
for x in 1 two 3
do
echo $x
done
$ sample
1
two
3
В этом цикле код между do и done выполниться 3 раза, при этом первый раз
x=1, второй раз x=two и последний x=3
Другой интересный пример
$ cat sample
for x in *
do
echo $x
done
$ sample
cpp
demo
file.txt
mydaemon
net_sh
perl
php
sample
* в списке переменных цикла, заставляет for использовать в качестве значения $x элементы текущего каталога
Циклы WHILE и UNTIL
$ cat sample
while test -r file
do
sleep 10
echo file exists
done
echo file does not exist
$ touch file
$ sample
file exists
file exists
Ctr+Z
[1]+ Stopped sample
$ rm file
$ fg
sample
file exists
file does not exist
$ cat sample
until test -r file
do
sleep 5
echo file does not exist
done
echo file exists
$ sample
file does not exist
file does not exist
Ctr+Z
[1]+ Stopped sample
$ touch file
$ fg
sample
file does not exist
file exists
$
Источник
Управление Linux через .bat
Помогите с запуском bat-файла через bat-файл
Расклад таков: 1. У меня есть bat файл(help.bat). 2. Нужно написать ещё один чтобы он запускал.
Управление gnuplot из bat-файла
Добрый день. Сразу скажу, что я совсем не эксперт по работе с cmd, но возникла небольшая проблема.
Отправка письма через The Bat!
Пытаюсь написать отправки письма через почтовый клиент TheBat. Такой код: «C:\Program Files\The.
Настройка Windows XP через *.bat
Доброе Время Суток ! Помогите решить такой вопрос: Мне нужно написать бат файл через который.
никак. Вы открыли сессию с удалённым сервером.. теперь пользуйтесь благами удалённого сервера.. это unix тогда используйте bash-script расположенный на удалённом сервере.
Добавлено через 1 минуту
а извиняюсь.. не понял.
Вы начали сессию в putty.. т.е. ваш batch-файл перестал обрабатываться до тех пор пока вы не завершите эту сессию.. и какие-бы комманды там небыли написаны они в putty не будут переданы
mir16, А вообще как то можно реализовать мою идею?
Добавлено через 3 минуты
В общем мне помогли сделать батник+
/etc/profile.d/
там лежат скрипты
которые испольняются только при логине
а не при запуске системы, что нам не надо
/.scripts/startgmon.sh /etc/profile.d/startgmon.sh
создал ссылку
в родном каталоге
вот это сам скрипт
/.scripts/startgmon.sh
Unread messages
вот это ссылка на ^^
/etc/profile.d/startgmon.sh
mcedit
На более ранних версиях Windows тоже возможно реализовать задуманное на powershell.
Нужно только доставить модуль SSH-Sessions для PoSH.
Что-то типа этого.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Запуск 2 приложений через bat
Парни, помогите пожалуйста написать батник. Задача такая, на раб. столе находятся два ярлыка. Нужно.
Запуск cpp через bat
Меня озадачили следующим: запустить программу, написанную на С++ через bat файл. При чём не просто.
Установка программ через bat-файл
Здравствуйет. Скажите пожалуйста, как мне написать батник, что-бы при запуска он устанавливал.
Обновить bat-файл через интернет
Здравствуйте. Делал простой менеджер, столкнулся с проблемой реализацией обновления. Делаю так: 1.
Источник