Опции на командите
Повечето от командите, използвани в Bash, могат да бъдат дадени като една дума или могат да бъдат последвани от всякакви уточняващи параметри.
Ще наричаме всичко, което идва след командата, като параметри. В същото време параметрите са разделени на ключове и аргументи. Ще наричаме ключове това, което обикновено се предхожда от един или два знака минус. Ключовете, ако присъстват, се поставят преди аргументите. Една команда може да има както ключове, така и аргументи, или само ключове, или само аргументи.
Аргументите обикновено са това, върху което се изпълнява командата. Например, команда за промяна на директория трябва да приема като аргумент името на директорията, към която да се промени. Името на файла трябва да бъде предадено на командата, за да се покаже съдържанието на файла.
Нека да разгледаме използването на параметри с помощта на командата ncal, която показва календар, като пример. Без параметри ще покаже календара за текущия месец.

Ако искаме да видим календара за друг месец, трябва да предадем два аргумента на програмата ncal: месеца и годината.

Ако посочите само един аргумент, ще се счита, че е премината само годината. Ще се покаже календарът за цялата година.
Използвайки превключвателя -b, можете да обърнете календара на 90 градуса. Ясно е, че аргументите могат да бъдат посочени или не. Във втория случай получавате обърнат календар за текущия месец.

Командите могат да имат множество клавиши. Могат да се комбинират.

В този случай се използват два ключа. Ключът -w казва на ncal да отпечата, наред с други неща, номерата на седмиците от годината. На екранната снимка по-горе ключовете са написани заедно. Въпреки това беше възможно да се даде командата по следния начин: ncal -b -w.
Опцията не винаги се обозначава с малка буква. Има ключове, обозначени с главна буква или дума. В случая на думатадва знака минус се използват, така че Bash да разбере, че това не е списък от последователни ключове пред него, а само един. В примера по-долу опциите -V и --version на програмата python3 правят същото - отпечатват версията на интерпретатора.
Има команди, които нямат смисъл без аргументи, тоест не са настроени на поведение "по подразбиране". Например командата sleep, която кара bash да паузира преди следващата команда. Времето може да бъде зададено в секунди, минути и т.н.
Имайте предвид, че понятията "команда", "параметър", "ключ", "аргумент" не са стандартни. В терминологията на Bash ключовете също се наричат опции, аргументите също се наричат операнди, тоест върху какво се изпълнява командата.
Въпреки това, от гледна точка на програмиране, всичко, което командният ред съдържа, са аргументи. Въведеният низ се предава на програмата като цяло, където се "нарязва" на отделни думи, които се поставят в масив, чийто първи елемент е името на извикваната програма. Освен това програмата обработва аргументите по един или друг начин, ако възнамерява да работи с тях.
Обяснете какво прави командата echo. Въз основа на резултата от echo -e "one\ntwo\tthree", обяснете целта на превключвателя -e.