Ṣẹda awọn iwe afọwọkọ tirẹ nipa lilo bu

Ẹkọ Lainos

Laibikita pinpin Linux ti a nlo, ― ko si iyemeji pe ayanfẹ mi ni Ubuntu― ni kete ti a ba wọle si lilo eto yii, o daju adaṣiṣẹ aini. Iyẹn ni: ṣẹda wa awọn aṣẹ tirẹ ti o ṣe awọn ofin kan ni ọna ti ara ẹni. Eyi nilo le jẹ nitori awọn idi kan:

  • Ṣe simplify sintasi ti awọn aṣẹ ti a maa n ṣiṣẹ.
  • Mu awọn iṣe ti o bo eyikeyi nilo ti a ko rii tẹlẹ ninu eto naa isẹ.
  • Ọkọọkan bibere ti a assiduously tun.

Botilẹjẹpe akọọlẹ bash le ṣee ṣiṣẹ ni / lati eyikeyi itọsọna, o jẹ igbagbogbo ṣẹda itọsọna kan lati gbalejo awọn iwe afọwọkọ wọnyi. Ninu ọran mi:

$ mkdir /home/pedro/.bin

Mo gba eyi gbo itọsọna (pamọ nipasẹ didari akoko ni iwaju orukọ) lati mu gbogbo awọn iwe afọwọkọ ti Mo lo sibẹ. Wipe orukọ itọsọna naa ti farapamọ ko ni itumo miiran ju - ayafi ti o ṣe alaye ni pàtó bibẹẹkọ - kii yoo han nigbati wiwo / ile / pedro lati oluwo faili ni ipo ayaworan.

Bayi o ni lati sọ fun Linux pe o yẹ ki o tun wo sibẹ (/home/pedro/.bin) awọn ibere ti a ṣe lati ebute.

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

Ni ọna yii eto naa yoo wa awọn aṣẹ wa nibẹ titi awa o fi pari igba naa. Lati jẹ ki ẹgbẹ yii wa titi:

$ sudo nano /etc/environment

a si fikun

:/home/pedro/.bin

ni opin ila PATH, o ṣe pataki pupọ lati maṣe gbagbe oluṣafihan ṣaaju adirẹsi ti itọsọna ti a wa pẹlu, niwon eyi ni siseto afikun.

Iwe afọwọkọ igbesẹ-akọkọ wa

A ṣẹda faili wa, bii eleyi ninu ọran mi:

$ touch ~/.bin/donde

Ati lati satunkọ rẹ, o le lo olootu ti o fẹ julọ tabi tẹle itọkasi yii:

$ gedit ~/.bin/donde &

Ati pe a ṣafikun akoonu atẹle:

#!/usr/bin/env bash

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

Itupalẹ iwe afọwọkọ

Laini ipe akọkọ wa «shebang»(#! / Usr / bin / env bash) beere Linux lati jabo nibiti ikarahun bash wa ati pe ohun ti o tẹle ni ṣiṣe gẹgẹ bi awọn ibeere bash. Išọra yii o rọrun lati rii daju pe awọn iwe afọwọkọ wa ṣiṣẹ lori fifi sori eyikeyi. Omiiran ṣee ṣe shebang o rerin:

#!/bin/bash

Iyato laarin wọn le jẹ freaky pupọ, ati pe emi yoo ṣalaye rẹ. Ni yi kẹhin Mo ro pe ninu eto wa ikarahun bash wa ni adiresi / bin / bash. Sibẹsibẹ, ibiti Mo gbero ninu iwe afọwọkọ naa Mo gboju pe Emi ko mọ ibiti o wa onitumọ bash. Mo beere eto naa fun u lati pese adirẹsi naa.

Laini kẹta: Bi o ṣe le rii, ila keji jẹ if ti o ba jẹ. Fun bu awọn ohun kikọ «$#« ni nọmba awọn aye ti a n kọja lati laini aṣẹ. Nitorinaa, »ti [$ # -lt 1];» itumọ ọrọ gangan tumọ si "ti nọmba awọn ipele ko ba to 1".

Laini kẹrin: ki o si (itumọ itumọ gangan lati Gẹẹsi: lẹhinna), nibi o tọka pe ohun ti o mbọ yoo ṣee ṣe nigbati igbelewọn ipo naa if jẹ otitọ: ni awọn ọrọ miiran, nọmba awọn ipele jẹ kere ju 1, iyẹn ni, odo.

Laini karun: Ti a ba ṣiṣẹ iwe afọwọkọ wa laisi awọn ipele kankan, a yoo fihan ni ebute naa “O nilo lati kọja paramita kan”.

Kẹfa ila: Tọkasi pe ohun ti o tẹle ni yoo pa nigbati ipo ti a ti kede ko jẹ otitọ.

Laini keje: Se ṣiṣe aṣẹ naa «nibo« pẹlu akoonu ti a ti kọja bi akọkọ paramita.

Laini kẹjọ: pẹlu «fi»Tọkasi pe bulọọki pari if.

Idanwo Iwe-mimọ wa

Ṣe pataki ṣafikun awọn igbanilaaye kikọ si akosile:

$ chmod -x ~/.bin/donde

Laisi eyi, aṣiṣe "igbanilaaye" yoo han.. Lẹhin eyi, a le ṣiṣe iwe afọwọkọ wa.

$ donde php

O yẹ ki o fihan wa ipo ti awọn binaries php, awọn faili orisun wọn, ati awọn oju-iwe eniyan. Nkan ba yen:

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

Igbapada

  • A jeki a itọsọna ".bin" lati fi awọn iwe afọwọkọ wa pamọ.
  • A pese alaye si Linux lati ṣafikun itọsọna yii ninu awọn iwadii aṣẹ rẹ.
  • A ṣẹda iwe afọwọkọ wa.
  • Iyato laarin yatọ shebang.
  • Lilo ti nọmba awọn aye ti a kọja pẹlu $ #.
  • Lilo ti akọkọ paramita con $1.

Mo nireti ati fẹ pe iwe afọwọkọ yii wulo fun ọ.


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Awọn asọye 4, fi tirẹ silẹ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade.

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.

  1.   Miguel wi

    O dara pupọ ati ṣalaye daradara, ṣugbọn kini paramita kan tọka si?

    1.    Pedro Ruiz Hidalgo aworan ibi ipamọ wi

      O ṣeun Miguel!

      Mo yeye nipasẹ paramita gbogbo alaye ifikun ti a pese si eto, iṣẹ tabi eto. Bi eyi ṣe le jẹ cumbersome, jẹ ki n dahun fun ọ pẹlu awọn apẹẹrẹ diẹ.

      Ninu aṣẹ linux lati daakọ faili a.txt si faili b.txt, a yoo kọ atẹle naa:

      $ cp a.txt b.txt

      Eto cp nibi gba awọn ipele meji eyiti o jẹ awọn orukọ ti awọn faili meji, akọkọ (gbọdọ wa) a.txt ati keji b.txt.

      Apẹẹrẹ miiran: Ti o ba firanṣẹ lati tẹjade lati inu itọnisọna pẹlu aṣẹ

      $ lp faili.pdf

      Ninu ọran yii "file.pdf" jẹ paramita fun eto lp naa.

      Mo nireti pe mo ti tẹ awọn iyemeji rẹ lọrun.

      Dahun pẹlu ji

  2.   Miguel wi

    Awọn asọye mi ko jade, aini aini ọwọ ni, Emi ko pada si apejọ yii.

    1.    Pedro Ruiz Hidalgo aworan ibi ipamọ wi

      Emi ko mọ kini o ti ṣẹlẹ, ni eyikeyi idiyele eyi ti tẹjade.

      Ẹ kí