Gadzira ako magwaro uchishandisa bash

Kudzidza Linux

Zvisinei nekuparadzirwa kweLinux kwatiri kushandisa, doubt hapana mubvunzo chandinofarira ndiBuntu― patinongopinda mukushandisa kwesisitimu ino, zvimwe kushandisa michina zvinodiwa. Ndoku: gadzira yedu mirairo yako iyo inoita mimwe mirairo nenzira yakasarudzika. Ichi chidimbu chinogona kuve nekuda kwezvimwe zvikonzero:

  • Ita nyore syntax yemirairo iyo yatinowanzo ita.
  • Tora zviito zvinovhara chero need izvo zvisinga fungidzirwe muhurongwa kushanda.
  • Sequence maodha kuti tinodzokorora nesimba.

Kunyangwe iyo bash script inogona kumhanyisa mukati / kubva kune chero dhairekitori, zvinowanzoitika gadzira dhairekitori rekutora zvinyorwa izvi. Mune yangu kesi:

$ mkdir /home/pedro/.bin

Ndinotenda izvi dhairekitori (rakavanzika nekutungamira iyo nguva pamberi pezita) kubata ese magwaro andinoshandisa ipapo. Kuti zita rekuti dhairekitori rakavanzwa harina zvimwe zvarinoreva kunze - kunze kwekunge zvatsanangurwa neimwe nzira - haizoonekwe kana uchiona / kumba / pedro kubva kune iyo faira muoni mune graphical mode.

Zvino iwe unofanirwa kudaro zivisa Linux kuti inofanirawo kutarisa ipapo (/home/pedro/.bin) iwo maodha anoitwa kubva kumagumo.

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

Nenzira iyi iyo system ichatsvaga maodha edu ipapo kudzamara tavhara chikamu. Kuita kuti musangano uyu ugare nekusingaperi:

$ sudo nano /etc/environment

uye tinowedzera

:/home/pedro/.bin

kumagumo kwetambo PATH, zvakakosha kuti usakanganwa colon pamberi pekero yedhairekitori ratiri kusanganisira, kubvira iyi ndiyo yekuwedzera michina.

Yedu yekutanga nhanho-nhanho script

Isu tinogadzira yedu faira, seizvi mune yangu kesi:

$ touch ~/.bin/donde

Uye kuti uigadzirise, unogona kushandisa yako yaunofarira edhari kana kutevera ichi chiratidzo:

$ gedit ~/.bin/donde &

Uye isu tinowedzera zvinotevera zvirimo:

#!/usr/bin/env bash

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

Kuongorora zvinyorwa

Yedu yekutanga kufona mutsara «shebang»(#! / Usr / bin / env bash) bvunza Linux kuti utaure uko bash shell iriko uye kuti chinotevera chinotevera chinoitwa zvinoenderana nezvinodiwa na bash. Izvi zvekuchengetedza zviri nyore kuve nechokwadi chekuti zvinyorwa zvedu zvinoshanda pane chero kuiswa. Imwe inogoneka shebang akaseka:

#!/bin/bash

Musiyano uripo pakati pavo unogona kunge usinganzwisisike, uye ini ndichautsanangura. Mune ino yekupedzisira Ini ndinofungidzira izvo mune yedu system iyo bash shell iri pa / bin / bash kero. Nekudaro, kwandinofunga mune script Ndofunga handizive kuti iripi muturikiri we bash. Ini ndinokumbira iyo system yekuti ape iyo kero.

Mutsara wechitatu: Sezvauri kuona, mutsara wechipiri ndeye if. Zve bash mavara$#« ine huwandu hweparameter dzatiri kupfuura kubva kumutsetse wekuraira. Naizvozvo, »kana [$ # -lt 1];» sezvazviri zvinoreva kuti "kana huwandu hweparamu hwakaderera pane 1".

Mutsara wechina: Zvadaro (kuturikira chaizvo kubva kuChirungu: ipapo), pano zvinoratidzwa kuti chii chinotevera ichaitwa kana mamiriro ekuongorora if iva chokwadi: mune mamwe mazwi, iyo nhamba yeparameter iri pasi pe1, ndokuti zero.

Mutsetse wechishanu: Kana isu tikaburitsa script yedu pasina ma parameter, isu tinoratidza mune terminal «Unofanirwa kupasisa paramende».

Mutsara wechitanhatu: Inoratidza kuti zvinotevera zvichaitwa kana mamiriro atazivisa asiri echokwadi.

Mutsara wechinomwe: Se mhanyisa rairo «kupi« ichiperekedzwa nezvinyorwa zvatakapfuura se yekutanga paramende.

Mutsara wechisere: ne «fi»Zvinoratidza kuti bhuroka rinopera if.

Kuedza Chinyorwa chedu

Zvakakosha wedzera kunyora mvumo kune chinyorwa:

$ chmod -x ~/.bin/donde

Pasina izvi, kukanganisa "kwemvumo kwakarambwa" kwaizoonekwa.. Mushure meizvozvo, tinogona kumhanyisa script yedu.

$ donde php

Inofanira kutiratidza nzvimbo yeiyo php mabhinari, avo masosi mafaira, uye man mapeji. Chinhu chakadai.

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

Kudzokorora

  • Isu tinogonesa a ".bin" dhairekitori yekuisa zvinyorwa zvedu.
  • Tinopa ruzivo kuLinux kuisa dhairekitori iri mukutsvaga kwaro.
  • Isu tinogadzira yedu script.
  • Musiyano uripo pakati zvakasiyana shebang.
  • Kushandiswa kwe huwandu hweparameter hwakapasiswa ne $ #.
  • Kushandiswa kwe yekutanga paramende game $1.

Ndinovimba uye ndinoshuvira kuti chinyorwa ichi chikubatsire iwe.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako

  1.   Miguel akadaro

    Yakanaka kwazvo uye yakatsanangurwa chaizvo, asi paramende inorevei?

    1.    Pedro Ruiz Hidalgo chigadziri chemufananidzo akadaro

      Ndatenda Miguel!

      Ini ndinonzwisisa paramende ruzivo rwese rwunowedzerwa rwunopihwa kuchirongwa, basa kana system. Sezvo izvi zvingave zvinorema, rega ndikupindure nemimwe mienzaniso.

      Mune linux rairo yekuteedzera iyo faira a.txt kune iyo faira b.txt, isu tinonyora zvinotevera:

      $cp a.txt b.txt

      Iyo cp chirongwa pano inogamuchira maviri ma parameter ayo ari mazita emafaira maviri, yekutanga (inofanira kuvapo) a.txt uye yechipiri b.txt.

      Mumwe muenzaniso: Kana iwe ukatumira kupurinda kubva kunyowani nemirairo

      $ lp faira.pdf

      Mune ino kesi "file.pdf" iri paramende yeiyo lp chirongwa.

      Ndinovimba ndakagutsa kusahadzika kwako.

      Reply with quote

  2.   Miguel akadaro

    Makomendi angu haabude, ndiko kusaremekedza, ini handidzokere kune ino foramu.

    1.    Pedro Ruiz Hidalgo chigadziri chemufananidzo akadaro

      Ini handizive zvakaitika, chero zvakadaro iyi yakaburitswa.

      Thanks.