Ngaphandle kokuhanjiswa kweLinux esiyisebenzisayo, ngokungathandabuzekiyo into endiyithandayo nguBuntu― nje ukuba singene ekusebenziseni le nkqubo, ngokuqinisekileyo iimfuno ezizenzekelayo. Oko kukuthi: yenza eyethu eyakho imiyalelo abenza imiyalelo ethile ngendlela elungiselelwe wena. Esi sidingo sinokubangelwa zizizathu ezithile:
- Yenza lula i-syntax yemiyalelo esihlala siyenza.
- Thatha amanyathelo agubungela nayiphi na need ezingabonwayo kwangaphambili kwinkqubo ukusebenza.
- Ulandelelwano lwemiyalelo ukuba ngokuqinisekileyo siyaphinda.
Nangona iskripthi sebash sinokuqhutywa ngaphakathi / nakwesiphi na isikhombisi, kuhlala kunjalo yenza isikhombisi sokubamba ezi skripthi. Kwimeko yam:
$ mkdir /home/pedro/.bin
Ndiyakholelwa oku umkhombandlela (ofihliweyo ngokukhokela ixesha eliphambi kwegama) ukubamba zonke iincwadi zeempendulo endizisebenzisayo apho. Ukuba igama lesikhangeli lifihliwe alikho enye intsingiselo ngaphandle - ngaphandle kokuba kuchazwe ngenye indlela-- ayizukuvela xa ujonga / ekhaya / kwi-pedro evela kumbukeli wefayile kwimowudi yemizobo.
Ngoku kufuneka Yazisa iLinux ukuba kufuneka ijonge apho (/home/pedro/.bin) ii-odolo ezenziweyo ukusuka kwisiphelo sendlela.
$ PATH=$PATH;/home/pedro/.bin
Ngale ndlela inkqubo iya kujonga iiodolo zethu apho side sivale iseshoni. Ukwenza lo mbutho ube sisigxina:
$ sudo nano /etc/environment
kwaye siyongeza
:/home/pedro/.bin
Ekupheleni komgca we-PATH, kubaluleke kakhulu ukuba ungalibali ikholoni ngaphambi kwedilesi yolawulo esilubandakanyayo, kuba le yindlela yokongeza.
Isikripthi samanyathelo ngamanyathelo ethu sokuqala
Senza ifayile yethu, ngoluhlobo lwam:
$ touch ~/.bin/donde
Ukuyihlela, ungasebenzisa umhleli owuthandayo okanye ulandele lo mqondiso:
$ gedit ~/.bin/donde &
Kwaye sidibanisa umxholo olandelayo:
#!/usr/bin/env bash if [ $# -lt 1 ]; then echo "Necesitas pasar un parámetro" else whereis $1 fi
Uhlalutyo lweskripthi
Umnxeba wokuqala wokuqala «Shebang»(#! / Usr / bin / env bash) buza iLinux ukuba inike ingxelo iphi indawo ye-bash shell? kwaye oku kulandelayo kwenziwa ngokweemfuno zebash. Le nyathelo Kulula ukuqinisekisa ukuba izikripthi zethu zisebenza kulo naluphi na ufakelo. Enye into enokwenzeka Shebang wahleka:
#!/bin/bash
Umahluko phakathi kwabo unokuba yinto engaqhelekanga, kwaye ndiza kuyicacisa. Okokugqibela Ndicinga ukuba kwinkqubo yethu i-bash shell ikwidilesi ye-bin / bash. Nangona kunjalo, apho ndicebisa kwiskripthi Ndiyaqonda andiyazi ukuba iphi itoliki yetsh. Ndicela inkqubo ukuba abonelele ngale dilesi.
Umgca wesithathu: Njengoko ubona, umgca wesibini ngu- if. Ngokubhala abalinganiswa «$#« iqulethe inani leeparameter esigqithayo ukusuka kumgca wokuyalela. Ke ngoko, »ukuba [$ # -lt 1];» Ngokwenene lithetha "ukuba inani leeparamitha lingaphantsi kwe-1".
Umgca wesine: ngelo xesha (Ngokwenyani ukuguqulela ukusuka esiNgesini: emva koko), apha kubonisiwe ukuba yintoni elandelayo iya kwenziwa xa kuvavanywa imeko if yinyaniNgamanye amagama, inani leeparamitha lingaphantsi kwe-1, oko kukuthi, zero.
Umgca wesihlanu: Ukuba senza iskripthi sethu ngaphandle kweeparameter, siya kubonisa kwisiphelo sendlela «Kuya kufuneka upase ipharamitha».
Umgca wesithandathuIbonisa ukuba oku kulandelayo kuya kwenziwa xa imeko esiyibhengezileyo ingeyonyani.
Umgca wesixhenxe: Se sebenzisa umyalelo «iphi i« sikhatshwa ngumxholo esiwupasileyo njenge ipharamitha yokuqala.
Umgca wesibhozo: nge «fi»Ibonisa ukuba ibhloko iyaphela if.
Ukuvavanya iSkripthi sethu
Kubalulekile yongeza iimvume zokubhala Iskripthi:
$ chmod -x ~/.bin/donde
Ngaphandle koku, impazamo "yemvume yokulahlwa" iya kuvela.. Emva koko, sinokuqhuba iskripthi sethu.
$ donde php
Kuya kufuneka isibonise indawo ye-php binaries, iifayile zomthombo kunye namaphepha abantu. Into enjalo:
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
Ukuphinda ubhale
- Senza ukuba ifayile ye- ulawulo ".bin" lokugcina izikripthi zethu.
- Sinikezela Ulwazi kwiLinux ukubandakanya esi sikhombisi ekukhangekeni komyalelo.
- Senza iskripthi sethu.
- Umahluko phakathi eyahlukileyo Shebang.
- Ukusetyenziswa kwe inani leeparamitha ezidluliswe nge $ #.
- Ukusetyenziswa kwe ipharamitha yokuqala nge $1.
Ndiyathemba kwaye ndinqwenela ukuba lo mbhalo uluncedo kuwe.
Ilungile kwaye ichazwe kakuhle, kodwa ibhekisa kwintoni ipharamitha?
Enkosi Miguel!
Ndiyayiqonda ngeparameter lonke ulwazi olongezelelekileyo olunikezelwa kwinkqubo, umsebenzi okanye inkqubo. Njengoko oku kunokuba nzima, mandikuphendule ngemizekelo embalwa.
Kumyalelo we-linux ukukopa ifayile a.txt kwifayile b.txt, singabhala oku kulandelayo:
$cp a.txt b.txt
Inkqubo ye-cp apha ifumana iiparameter ezimbini ezingamagama eefayile ezimbini, eyokuqala (kufuneka ibekhona) a.txt kunye neyesibini b.txt.
Omnye umzekelo: Ukuba uthumela ukuprinta ukusuka kwikhonsoli ngomyalelo
$ lp ifayile.pdf
Kule meko "ifayile.pdf" yiparameter yenkqubo ye-lp.
Ndiyathemba ukuba ndiwanelisile amathandabuzo akho.
Phendula nge quote
Izimvo zam aziveli, kukusilela kwembeko, andibuyeli kule forum kwakhona.
Andazi ukuba kwenzeke ntoni, nokuba kunjani na ukuba sele ipapashiwe.
Ukubulisa