Две прости трикове с Shell Scripts за подобряване на производителността [Linux]
Едно от най-хубавите неща за командния ред на Linux е способността ви да комбинирате скриптове, които улесняват живота ви. На най-основното си ниво шпионски скрипт е списък от команди, изпълнени една след друга, сякаш сте ги написали сами на командния ред. Докато програмата за черупки (например Bash shell) може да бъде толкова сложна, колкото и програмирането на други езици, е по-лесно да вземете няколко основни трикове, които можете да използвате, за да станете по-ефективни.
Забележка : Докато би трябвало да можете да използвате тези съвети незабавно, MTE има отлично ръководство за начинаещи за писане на скриптове на Linux Shell, които можете да направите за по-подробна информация.
Основите на основите
Вече ще имате всичко, от което се нуждаете, за да се възползвате от тези трикове на всяка модерна дистрибуция на Linux: текстов редактор и shell (ще използваме Bash shell тук). Отворете текстовия редактор и сте готови да скриете скрипта. Ще запазвате скриптовете като обикновен текстови файлове ... Някои хора предпочитат да използват разширение на файла ".sh", за да помогнат при идентифицирането на скриптовете.
Ще трябва да научите малко за синтаксиса или формата на скриптовете на shell. Едно нещо, което трябва да запомните, е да поставите следния ред в горната част на всеки скрипт:
#! / Хамбар / Баш
Когато изпълнявате скрипт в командния ред, този ред казва на текущата ви черупка коя друга обвивка да използва, за да я изпълни, ако са различни. Другото нещо, което трябва да запомните, е да направите скрипта си изпълним, което ще направим в един миг. Но за сега, нека да създадем нов, полезен скрипт.
Сценарий за малко по-различно
Наръчникът за начинаещи по-горе прави чудесна работа с обясняването на променливи и ви показва как да правите аргументи (всички думи / фрази, които въвеждате след името на командата) и да ги използвате. Но можете да използвате и така наречените "променливи на средата", за да промените нещата за това как се изпълняват вашите програми. Например, аз съм японски говорител и докато програмите на Линукс могат да се справят с входа на японски, понякога получавам носталгия за японския потребителски интерфейс. Има променливи за "Locale", които определят кои езикови програми се показват. Например, ако искам да се върна в моите дни за сърфиране в Япония, ще използвам следното:
LANG = "ja_JP"
Но често забравям дали променливата на средата трябва да е "LANG", "LC_TYPE" или една от останалите 10 местни променливи. По-скоро бих предпочел "Япония". Така че създадох баш скрипт, наречен "jpit", както следва:
#! / bin / bash LANG = "ja_JP" $ 1
Това ще покаже преведените японски менюта и интерфейс (можете да видите английски потребителски интерфейс по-долу вляво, а резултатът, когато се стартира от "jpit" вдясно).
След това просто направих скрипта изпълним със следното:
chmod + x / home / aaron / bin / jpit
Поставих това в моята директория ~ / bin, защото това е в моя PATH и вече мога да изпълня това от всеки терминал или KRunner и да вмъкна всяко име на приложение, което приема променливата "LANG". Можете да използвате скрипт като този, за да стартирате програма с различен набор от опции, независимо дали са променливи на средата, флагове на командния ред или входно / изходни файлове.
Сценарий за това, после това
Няколко пъти се оказва, че изпълнявам няколко същите команди, в една и съща последователност. Следното идва непосредствено в ума:
sudo apt-get актуализация sudo apt-get ъпгрейд
За щастие има начин да ги издадете като една команда, след което "вървете", докато всички те завършат:
sudo apt-get актуализация && sudo apt-get ъпгрейд
&&
в тази команда означава, че втората команда трябва да се изпълнява само след първата и само ако първата се изпълнява без грешки. Приложенията apt-get
по-горе вероятно ще ви попитат дали искате да инсталирате някои зависимости, но как е това полезно?
Хайде да се върнем при нашия стар приятел, Пандок . В предишни статии видяхме, че Pandoc има опции за преобразуване на Markdown в други, различни формати. Но какво ще стане, ако искате да го превърнете в HTML, ODT, DOCX и електронна книга наведнъж? Обикновено: създайте скрипт на Shell със следното:
###################################################################################################################################################### # r markdown -w epub -o $ 1.epub $ 1
Това ще отнеме всеки документ на Markdown, който му давате като аргумент, и ще генерирате всеки от желаните формати, като пуснете командата Pandoc по един формат едновременно. Една команда, четири крайни продукта. Това е ефективност!
Можете дори да комбинирате горните опции, за да създадете всички полезни скриптове. Защото, въпреки че всички обичаме командния ред, няма причина да отделяте повече време от него, отколкото да ...