Брзи водич за аргументе командне линије у Рубију

Многи Руби скрипте немају текст или графички интерфејси. Они једноставно трче, раде свој посао и тада излазе. Да би се комуницирало са овим скриптама да би се променило њихово понашање, морају се користити аргументи командне линије.

Командна линија је стандардни начин рада за УНИКС наредбе, а пошто се Руби нашироко користи Системи слични УНИКС-у (као што су Линук и мацОС) прилично је стандардан да се сусрећу са овом врстом програм.

Како пружити аргументе командне линије

Аргументе Руби скрипте у програм Руби преносе љуске, програм који на терминалу прихвата наредбе (попут басх).

У наредбеној линији сваки текст који следи име скрипте сматра се аргументом наредбене линије. Одвојени размацима, свака реч или низ биће прослеђен као посебан аргумент програму Руби.

Следећи пример приказује исправну синтаксу коју треба користити за покретање тест.рб Руби скрипту из командне линије са аргументима тест1 и тест2.

$ ./тест.рб тест1 тест2

Можда ћете наићи на ситуацију у којој требате да предате аргумент Руби програму, али у команди има места. У почетку се чини немогућим, јер љуска раздваја аргументе на размаке, али за то постоји одредба.

instagram viewer

Сви аргументи у двоструким наводницима неће бити раздвојени. Дупли цитати скидају се љуске пре него што их проследе Руби програму.

Следећи пример преноси један аргумент на тест.рб Руби скрипта, тест1 тест2:

$ ./тест.рб "тест1 тест2"

Како се користе аргументи командне линије

У својим Руби програмима можете приступити свим аргументима наредбеног ретка које је схелл пренео са АРГВ посебна променљива. АРГВ је варијабла Арраи која садржи, као низове, сваки аргумент који је прошао поред љуске.

Овај програм понавља преко АРГВниз и штампа његов садржај:

#! / уср / бин / енв рубин. АРГВ.еацх | | | ставља "Аргумент: # {а}" крај

Следи одломак басх сесије којом се покреће ова скрипта (сачувана као датотека тест.рб) са разним аргументима:

$ ./тест.рб тест1 тест2 "три четири" Аргумент: тест1. Аргумент: тест2. Аргумент: три четири
instagram story viewer