Цель статьи — познакомить поближе с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной (-недельной, -месячной) рутинной работы или, скажем, «на коленке» наваять скриптик для бэкапа директории.
Введение
BASH — Bourne-Again SHell (что может переводится как «перерожденный шел», или «Снова шел Борна(создатель sh)»), самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux. Ниже приведу ряд встроенных команд, которые мы будем использовать для создания своих скриптов.
break выход из цикла for, while или until
continue выполнение следующей итерации цикла for, while или until
echo вывод аргументов, разделенных пробелами, на стандартное устройство вывода
exit выход из оболочки
export отмечает аргументы как переменные для передачи в дочерние процессы в среде
hash запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
Командная строка Linux для новичков
kill посылает сигнал завершения процессу
pwd выводит текущий рабочий каталог
read читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.
return заставляет функцию оболочки выйти с указанным значением
shift перемещает позиционные параметры налево
test вычисляет условное выражение
times выводит имя пользователя и системное время, использованное оболочкой и ее потомками
trap указывает команды, которые должны выполняться при получении оболочкой сигнала
unset вызывает уничтожение переменных оболочки
wait ждет выхода из дочернего процесса и сообщает выходное состояние.
И конечно же кроме встроенных команд мы будем использовать целую кучу внешних, отдельных команд-программ, с которыми мы познакомимся уже в процессе
Что необходимо знать с самого начала
1. Любой bash-скрипт должен начинаться со строки:
#!/bin/bash
в этой строке после #! указывается путь к bash-интерпретатору, поэтому если он у вас установлен в другом месте(где, вы можете узнать набрав whereis bash) поменяйте её на ваш путь.
2. Коментарии начинаются с символа # (кроме первой строки).
3. В bash переменные не имеют типа(о них речь пойдет ниже)
Переменные и параметры скрипта
Приведу как пример небольшой пример, который мы разберем:
#!/bin/bash #указываем где у нас хранится bash-интерпретатор parametr1=$1 #присваиваем переменной parametr1 значение первого параметра скрипта script_name=$0 #присваиваем переменной script_name значение имени скрипта echo «Вы запустили скрипт с именем $script_name и параметром $parametr1» # команда echo выводит определенную строку, обращение к переменным осуществляется через $имя_переменной. echo `Вы запустили скрипт с именем $script_name и параметром $parametr1` # здесь мы видим другие кавычки, разница в том, что в одинарных кавычках не происходит подстановки переменных. exit 0 #Выход с кодом 0 (удачное завершение работы скрипта)
Результат выполнения скрипта:
C++ первая программа HELLO WORLD в Linux Ubuntu
[email protected]:~$ ./test.sh qwerty
Вы запустили скрипт с именем ./test.sh и параметром qwerty
Вы запустили скрипт с именем $script_name и параметром $parametr1
После того как мы познакомились как использовать переменные и передавать скрипту параметры, время познакомиться с зарезервированными переменными:
Условия
Условные операторы, думаю, знакомы практически каждому, кто хоть раз пытался на чем-то писать программы. В bash условия пишутся след. образом (как обычно на примере):
#!/bin/bash source=$1 #в переменную source засовываем первый параметр скрипта dest=$2 #в переменную dest засовываем второй параметр скрипта if [[ «$source» -eq «$dest» ]] # в ковычках указываем имена переменных для сравнения. -eq — логическое сравнение обозначающие «равны» then # если они действительно равны, то echo «Применик $dest и источник $source один и тот же файл!» #выводим сообщение об ошибке, т.к. $source и $dest у нас равны exit 1 # выходим с ошибкой (1 — код ошибки) else # если же они не равны cp $source $dest # то выполняем команду cp: копируем источник в приемник echo «Удачное копирование!» fi #обозначаем окончание условия.
Результат выполнения скрипта:
[email protected]:~$ ./primer2.sh 1 1 Применик 1 и источник 1 один и тот же файл! [email protected]:~$ ./primer2.sh 1 2 Удачное копирование!
Таким образом оператогр условия имеют следующий вид:
if [[ «что-то» then
какое-то действие, если сравнение выполнено успешно
else
действие если сравнение выполнено не успешно
fi
В некоторых случаях оператор else может быть опущен.
Условия. Множественный выбор
Если необходимо сравнивать какоую-то одну переменную с большим количеством параметров, то целесообразней использовать оператор case.
#!/bin/bash echo «Выберите редатор для запуска:» echo «1 Запуск программы nano» echo «2 Запуск программы vi» echo «3 Запуск программы emacs» echo «4 Выход» read doing #здесь мы читаем в переменную $doing со стандартного ввода case $doing in 1) /usr/bin/nano # если $doing содержит 1, то запустить nano ;; 2) /usr/bin/vi # если $doing содержит 2, то запустить vi ;; 3) /usr/bin/emacs # если $doing содержит 3, то запустить emacs ;; 4) exit 0 ;; *) #если введено с клавиатуры то, что в case не описывается, выполнять следующее: echo «Введено неправильное действие» esac #окончание оператора case.
[email protected]:~$ ./menu2.sh Выберите редатор для запуска: 1 Запуск программы nano 2 Запуск программы vi 3 Запуск программы emacs 4 Выход
После выбор цифры и нажатия Enter запуститься тот редактор, который вы выбрали(если конечно все пути указаны правильно, и у вас установлены эти редакторы )
Прведу список логических операторв, которые используются для конструкции if-then-else-fi:
-z # строка пуста
-n # строка не пуста
=, (==) # строки равны
!= # строки неравны
-eq # равно
-ne # неравно
-lt,( < ) # меньше
-le,( <=) # меньше или равно
-gt,(>) #больше
-ge,(>=) #больше или равно
! #отрицание логического выражения
-a,() #логическое «И»
-o,(//) # логическое «ИЛИ»
С основами языка и условиями мы разобрались,
https://studylinux.ru/osnovy-bash.html 2016-01-12T09:50:59+00:00 admin C чего начать? Литература Обзоры Руководства Справочники команд Статьи bash,Linux,программирование,Программы,Руководства,скрипты,Справочник команд
Цель статьи — познакомить поближе с bash, рассказать про синтаксис, основные приемы и фишки языка, для того чтобы даже обычный пользователь смог быстренько написать простой скрипт для выполнения ежедневной (-недельной, -месячной) рутинной работы или, скажем, ‘на коленке’ наваять скриптик для бэкапа директории. Введение BASH — Bourne-Again SHell (что может переводится как.
Источник: studylinux.ru
Ubuntu and Programming
Ubuntu is a great development platform. You can easily program in C/C++, java, fortran, python, perl, php, ruby, tcl, lisp . and many more.
Scripting Languages
Scripting languages are usually easy to learn and use. They are called scripting languages because they are interpreted instead of compiled to machine language like C/C++ for example.
Perl
Perl is very popular with web programmers and system administrators. One of Perl’s main features is regular expressions. Most languages now include regular expressions but Perl is particularly powerful when processing a lot of text. Perl is already installed on your Ubuntu system by default. Visit the Perl website for more information.
Perl has a large number of extensions written for it; visit cpan.perl.org to find them.
PHP
PHP is the language that put the «P» in LAMP, which is the technology that runs most of the internet (Linux, Apache, mySQL, PHP). PHP is a powerful and flexible language, it is used extensively to run high performance web sites such as Facebook and Yahoo, however it is also great for writing system admin scripts too. It has full support for Perl Regular Expressions as well as Object programming. PHP is much newer than Perl so it has not seen as much use by system administrators, it is not pre-installed on Ubuntu but you can easily add it using the Synaptic Package Manager to Install PHP5.
There are 3 versions of PHP available, PHP5-cli is for running programs on the command line, you can use this to create ncurses programs and even daemons. PHP5-cgi and libapache2-mod-php5 are for web servers. There are a huge number of libraries and extensions along with excellent documentation available on the www.php.net web site.
Python
Out of the box Ubuntu comes with Python and many extension modules. Python is very powerful and easy to use. In fact it is the preferred language by most of the Ubuntu developers. You can easily play with python interactively. Start a terminal and type python[enter]. For a more elaborate tutorial and other useful information about Python, visit http://www.python.org
Ruby
Ruby is a «dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.» Check out http://www.ruby-lang.org for more. Ruby is also installed by default on your system.
You might want to install the irb package to use the ruby interactive interpreter.
Others
This is a collection of other extremely useful languages.
C and C++
C is not usually a great language to begin programming with but it is the most powerful programming language in popular use. If you need speed and efficiency, C is the best choice. The Linux kernel, the heart of the Ubuntu operating system, is written in C. C++ is mostly an extension of C. C++ has the main advantage of being an Object Oriented language. (With some talent C can also be used for OOP). To use C and C++ you will need to install the build-essential package.
sudo apt-get install build-essential
You can now compile C and C++ programs with gcc and g++. Read their respective man pages for more information.
Gambas
Gambas is similar to Microsoft’s Visual Basic (and almost compatible), but example with object extensions. With Gambas you can very easily and quickly develop programs for GTK+ and Qt4 environments. Gambas has very easy to use Visual Basic like IDE for building graphical user interfaces. And Gambas includes many example programs to ease learning.
- Databases: MySQL, PostgreSQL, ODBC and SQLite
- OpenGL (fast 2D and 3D graphics)
- CGI web applications
- D-Bus
- Webkit
- SDL
- V4L (Video 4 Linux can be used to control example webcam)
- External libraries
- etc etc
Gambas has comprehensive localization features, like build in translation application. Also Gambas programs are faster to execute than equivalent Python and Perl programs.
Java
Java was created by Sun Microsystems and is now used all over the place. The beauty of Java is its power, combined with its portability. Programs written in Java can usually be run across multiple operating systems on multiple machine architectures without a need to recompile like C/C++, as long as there is a Java Virtual Machine available on the desired OS and platform. Java is a popular language to learn due to its object oriented nature, cross platform abilities and the fact that instructing a virtual machine can often be easier than instructing a real machine. One of the most comprehensive development environments for Java is Eclipse, which you can find in the Ubuntu repositories along with many plugins.
Java was originally created as a proprietary format, this is no longer the case since Sun founded the OpenJDK project.
Mono
Mono is a Free Software implementation of Microsoft’s .NET system. If you are familiar with languages such as C# then you will like Mono. Mono Devel is in Ubuntu and can quickly create extremely powerful programs which, if coded accordingly, can even be run on Microsoft Windows. Mono is relatively new to the programming world, but its power has attracted many popular projects like the Beagle «desktop search» tool, the Banshee media player and the F-Spot picture/photo organizer.
Visual Basic
The vb2Py project is developing a suite of conversion tools to aid in translating existing Visual Basic projects into Python. Visit the project’s sourceforge.net homepage here.
You might want to try to port your Visual Basic project to Gambas project. Differences between Visual Basic and Gambas are listed here: http://gambasdoc.org/help/doc/diffvb?showhttps://help.ubuntu.com/community/PowerUsersProgramming» target=»_blank»]help.ubuntu.com[/mask_link]
Частый вопрос: как написать программу в терминале Ubuntu?
Терминал — это фактический интерфейс для консоли, который вы можете вводить и выполнять текстовые команды. … Имейте в виду, что вы не можете получить доступ к исходному коду через терминал. Терминал используется для выполнения команд, позволяющих выполнить определенную задачу.
Как начать программировать в терминале?
Разобравшись с этим, я начну с самого начала. Если вы используете Ubuntu, все, что вам нужно сделать, чтобы открыть терминал, — это нажать ctrl + alt +. На Mac вы должны нажать cmd + пробел, начать вводить терминал и нажать Enter, когда появится опция.
См. Также Быстрый ответ: как просмотреть загрузки на Android?
Как мне писать код в Linux?
Как написать программу на C в Ubuntu
- Откройте текстовый редактор (gedit, VI). Команда: gedit prog.c.
- Напишите программу на языке C. Пример: #include int main ()
- Сохранить программу на языке C с расширением.c. Пример: prog.c.
- Скомпилируйте программу C. Команда: gcc prog.c -o prog.
- Выполнить / Выполнить. Команда:./prog.
Как вы программируете терминал Linux?
В этом документе показано, как скомпилировать и запустить программу C в Ubuntu Linux с помощью компилятора gcc.
- Откройте терминал. Найдите приложение терминала в инструменте Dash (расположенном в самом верхнем углу панели запуска). …
- Используйте текстовый редактор для создания исходного кода C. Введите команду. …
- Скомпилируйте программу. …
- Выполнить программу.
Как запустить программу из командной строки?
Запуск приложения командной строки
- Откройте командную строку Windows. Один из вариантов — выбрать «Выполнить» в меню «Пуск» Windows, ввести cmd и нажать «ОК».
- Используйте команду «cd», чтобы перейти в папку, содержащую программу, которую вы хотите запустить. …
- Запустите программу командной строки, набрав ее имя и нажав Enter.
Как открыть файл в Linux?
Есть разные способы открыть файл в системе Linux. … Открыть файл в Linux
- Открыть файл с помощью команды cat.
- Откройте файл, используя команду less.
- Откройте файл с помощью команды more.
- Откройте файл с помощью команды nl.
- Откройте файл с помощью команды gnome-open.
- Откройте файл с помощью команды head.
- Откройте файл с помощью хвостовой команды.
Как скомпилировать программу в Unix?
Самый простой способ скомпилировать пакет:
- cd в каталог, содержащий исходный код пакета.
- Введите./configure, чтобы настроить пакет для вашей системы.
- Введите make, чтобы скомпилировать пакет.
- Введите make install, чтобы установить программы и любые файлы данных и документацию.
Как использовать код в терминале?
Запуск из командной строки Запуск VS Code из терминала выглядит круто. Для этого нажмите CMD + SHIFT + P, введите команду оболочки и выберите команду Установить код в пути. После этого перейдите к любому проекту из терминала и введите код. из каталога для запуска проекта с помощью VS Code.
Источник: linkeyprod.fr