<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5591484190086716210\x26blogName\x3d%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8+ubuntu\x27%D0%B9%D1%86%D0%B0\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://tlanvar.blogspot.com/search\x26blogLocale\x3dru\x26v\x3d2\x26homepageUrl\x3dhttp://tlanvar.blogspot.com/\x26vt\x3d-5598673310917208656', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Записки ubuntu'йца

Делюсь вот своими наблюдашками.


BASH. Часть 2. Специальные символы.

вторник, июля 31, 2007

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

- ~ ! @ # $ % ^ & * ( ) - [ ] { } : ; ' " / \ > <

а также символ с кодом “0” (ноль), символ возврата каретки (генерируемый клавишей ) и пробел. В зависимости от ситуации эти специальные символы могут трактоваться либо в их специальном значении, либо в буквальном, т. е. как литералы. Но мы в основном будем предполагать, что все эти символы зарезервированы и не должны использоваться в качестве литералов.


Это касается в первую очередь использования их в именах файлов и каталогов. Однако символы (_) , (-) и (.) (знак подчеркивания, дефис и точка) часто используются в именах файлов, так что именно этот пример показывает, что специальное значение эти символы имеют не всегда. В именах файлов только символы точки (.) и слэша (/) имеют специальное значение. Символ слэша служит для разделения имен отдельных каталогов, а точка имеет специальное значение, только если она является первым символом в имени файла (что означает, что файл является "скрытым").


Рассматривать все эти символы я буду постепенно в следующих статьях, по мере того, как они потребуются. Однако есть три символа, которые имеют особое значение и которые поэтому необходимо рассмотреть в первую очередь.


Символ (\) (обратный слэш) можно назвать "символом отмены специального значения" для любого из специальных символов, который стоит сразу вслед за \. Например, если мы хотим использовать символ пробела в имени файла, мы должны вместо простого пробела поставить (\). Например, возможна следующая команда:


[user]$ ср two_words two\words

Символы ' и " (одинарные и двойные кавычки) могут быть названы "символами цитирования". Любой из этих символов всегда используется в паре с его копией для обрамления какого-то выражения. Если какой-то текст взят в одинарные кавычки, то все символы внутри этих кавычек воспринимаются как литералы, никаким из них не придается специального значения. Если вернуться к тому же примеру с пробелами в имени файла, то можно сказать, что для того, чтобы дать файлу имя "two words" надо взять имя в кавычки:


[user]$ ср two_words 'two words'

Различие в использовании символов (') и (") состоит в том, что внутри одинарных кавычек теряют специальное значение все символы, а внутри двойных кавычек — все специальные символы кроме ($), (') и (\) (знака доллара, одинарных кавычек и обратного слэша).



Другие части:

BASH. Часть 1. Введение.
BASH. Часть 2. Специальные символы.
BASH. Часть 3. Выполнение команд.
BASH. Часть 4. Стандартный ввод/вывод.
BASH. Часть 5. Параметры и переменные. Окружение оболочки.
BASH. Часть 6. Раскрытие выражений


Из книги Виктора Костромина "Linux для пользователя".

Ярлыки: , , ,


| запостил: banderlog, 11:39 | Ссылка на статью | Комментариев (0) |

AddThis Social Bookmark Button

Коментариев: 0 штук(и)



<< На главную... | << Добавить комментарий