Dala imibhalo yakho usebenzisa i-bash

Ukufunda iLinux

Akunandaba nokusatshalaliswa kwe-Linux esikusebenzisayo, ― akungabazeki ukuthi intandokazi yami Ubuntu― ngokushesha nje lapho sisebenzisa lolu hlelo, imishini ezishintshayo. Lokho kungukuthi: dala eyethu imiyalo yakho abenza imiyalo ethile ngendlela yomuntu uqobo. Lesi sidingo singaba ngenxa yezimbangela ezithile:

  • Yenza lula i-syntax yemiyalo esivame ukuyenza.
  • Thatha izinyathelo ezihlanganisa noma yikuphi need okungabonwa kusengaphambili ohlelweni ukusebenza.
  • Ukulandelana kwama-oda ukuthi siphinda ngokuzimisela.

Yize iskripthi se-bash singaqhutshwa ngaphakathi / kusuka kunoma yisiphi isiqondisi, imvamisa dala umkhombandlela wokusingatha le mibhalo. Endabeni yami:

$ mkdir /home/pedro/.bin

Ngiyakukholwa lokhu umkhombandlela (ofihlwe ngokuhola isikhathi ngaphambi kwegama) ukubamba yonke imibhalo engiyisebenzisa lapho. Ukuthi igama lomkhombandlela lifihliwe alinayo enye incazelo ngaphandle kokuthi - ngaphandle kokuthi kuchazwe ngokunye - ngeke ivele lapho kubukwa / ikhaya / i-pedro kusuka kusibukeli sefayela ngemodi yokuqhafaza.

Manje kufanele yazisa iLinux ukuthi kufanele futhi ibheke lapho (/home/pedro/.bin) ama-oda enziwa kusukela ku-terminal.

$ PATH=$PATH;/home/pedro/.bin

Ngale ndlela uhlelo luzobheka ama-oda ethu lapho size sivale iseshini. Ukwenza le nhlangano ibe unomphela:

$ sudo nano /etc/environment

futhi siyengeza

:/home/pedro/.bin

ekugcineni komugqa we-PATH, kubaluleke kakhulu ukuthi ungakhohlwa ikholoni ngaphambi kwekheli lesikhombi esilifaka, ngoba le yindlela yokwengeza.

Isikripthi sethu sokuqala ngesinyathelo ngesinyathelo

Sakha ifayili lethu, kanjena kimi:

$ touch ~/.bin/donde

Futhi ukuyihlela, ungasebenzisa umhleli wakho owuthandayo noma ulandele le nkomba:

$ gedit ~/.bin/donde &

Futhi sengeza okuqukethwe okulandelayo:

#!/usr/bin/env bash

if [ $# -lt 1 ];
then
    echo "Necesitas pasar un parámetro"
else
    whereis $1
fi

Ukuhlaziywa kweskripthi

Ulayini wethu wokuqala wocingo «sheba»(#! / Usr / bin / env bash) cela uLinux ukuthi abike likuphi igobolondo le-bash nokuthi okulandelayo kwenziwa ngokuya ngezidingo zika-bash. Lokhu kuqapha kulula ukuqinisekisa ukuthi imibhalo yethu isebenza kunoma yikuphi ukufakwa. Okunye okungenzeka sheba wahleka:

#!/bin/bash

Umehluko phakathi kwabo ungabaxaka kakhulu, futhi ngizochaza. Kulesi sikhathi sokugcina Ngicabanga ukuthi ohlelweni lwethu igobolondo le-bash lisekhelini le- / bin / bash. Kodwa-ke, lapho ngiphakamisa khona kuskripthi Ngicabanga ukuthi angazi ukuthi ikuphi utolika we-bash. Ngicela uhlelo ukuthi anikeze lelo kheli.

Umugqa wesithathu: Njengoba ukwazi ukubona, umugqa wesibili uyi- if. Okwe-bash izinhlamvu «$#« iqukethe inani lamapharamitha esidlulisa kuwo kusuka kulayini womyalo. Ngakho-ke, »uma [$ # -lt 1];» ngokwezwi nezwi lisho ukuthi "uma inani lamapharamitha lingaphansi kuka-1".

Umugqa wesine: Bese (ngokwezwi nezwi ukuhumusha kusuka esiNgisini: bese), lapha kukhonjiswa ukuthi okulandelayo izokwenziwa lapho ukuhlolwa kwesimo if yiba neqiniso: ngamanye amagama, inani lamapharamitha lingaphansi kuka-1, okungukuthi, zero.

Ulayini wesihlanu: Uma sisebenzisa iskripthi sethu ngaphandle kwemingcele, sizokhombisa ku-terminal «Udinga ukudlulisa ipharamitha».

Umugqa wesithupha: Kubonisa ukuthi okulandelayo kuzokwenziwa lapho isimo esisimemezele singelona iqiniso.

Umugqa wesikhombisa: Se sebenzisa umyalo «kuphi« kuhambisana nokuqukethwe esikudlulise njengo ipharamitha yokuqala.

Umugqa wesishiyagalombili: nge «fi»Kubonisa ukuthi ibhulokhi iyaphela if.

Ukuhlola iskripthi sethu

Kubalulekile engeza izimvume zokubhala embhalweni:

$ chmod -x ~/.bin/donde

Ngaphandle kwalokhu, kuzovela iphutha elithi "imvume enqatshiwe".. Ngemuva kwalokho, singaqalisa iskripthi sethu.

$ donde php

Kufanele isibonise indawo yama-php binaries, amafayela wawo womthombo, namakhasi womuntu. Okuthile okunje:

php: /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php 
/usr/share/php7.0-readline /usr/share/php7.0-json /usr/share/php7.0-opcache 
/usr/share/php7.0-common /usr/share/php /usr/share/man/man1/php.1.gz

Ukubuyekeza

  • Sinika amandla i- ".bin" isiqondisi ukufaka imibhalo yethu.
  • Sinikeza imininingwane eya eLinux ukufaka lesi siqondisi ekusesheni kwayo komyalo.
  • Sakha iskripthi sethu.
  • Umehluko phakathi kwe- kwehlukile sheba.
  • Ukusetshenziswa kwe inani lamapharamitha adlulwe nge $ #.
  • Ukusetshenziswa kwe ipharamitha yokuqala con $1.

Ngiyethemba futhi ngifisa sengathi lo mbhalo uwusizo kuwe.