Awọn iwe afọwọkọ Bash: ibẹrẹ

Awọn iwe afọwọkọ Bash: ibẹrẹ
Awọn iwe afọwọkọ Bash Apá 2: Yipo
Awọn iwe afọwọkọ Bash, Apá 3: Awọn aṣayan Laini aṣẹ ati Awọn Yipada
Awọn iwe afọwọkọ Bash Apá 4: Input ati Output
Awọn iwe afọwọkọ Bash, Apá 5: Awọn ifihan agbara, Awọn iṣẹ abẹlẹ, iṣakoso iwe afọwọkọ
Awọn iwe afọwọkọ Bash, Apá 6: Awọn iṣẹ ati Idagbasoke Ile-ikawe
Awọn iwe afọwọkọ Bash, Apá 7: sed ati Ṣiṣe Ọrọ
Bash awọn iwe afọwọkọ, apakan 8: awk data processing ede
Awọn iwe afọwọkọ Bash Apá 9: Awọn ikosile deede
Awọn iwe afọwọkọ Bash Apá 10: Awọn Apeere to wulo
Awọn iwe afọwọkọ Bash, apakan 11: reti ati adaṣe ti awọn ohun elo ibaraenisepo

Loni a yoo sọrọ nipa awọn iwe afọwọkọ bash. Eyi - awọn iwe afọwọkọ laini aṣẹ, ti a kọ fun ikarahun bash. Awọn ikarahun miiran wa bii zsh, tcsh, ksh, ṣugbọn a yoo dojukọ bash. Ohun elo yii jẹ ipinnu fun gbogbo eniyan, ipo nikan ni agbara lati ṣiṣẹ ninu pipaṣẹ ila Lainos.

Awọn iwe afọwọkọ Bash: ibẹrẹ

Awọn iwe afọwọkọ laini aṣẹ jẹ awọn ikojọpọ ti awọn aṣẹ kanna ti o le wọle lati ori itẹwe, ti a gba sinu awọn faili ati iṣọkan nipasẹ idi ti o wọpọ. Ni ọran yii, awọn abajade ti iṣẹ awọn ẹgbẹ le jẹ ti iye ominira tabi ṣiṣẹ bi data igbewọle fun awọn ẹgbẹ miiran. Awọn iwe afọwọkọ jẹ ọna ti o lagbara lati ṣe adaṣe awọn iṣẹ ṣiṣe nigbagbogbo.

Awọn iwe afọwọkọ Bash: ibẹrẹ

Nitorinaa, ti a ba sọrọ nipa laini aṣẹ, o gba ọ laaye lati ṣiṣẹ awọn aṣẹ pupọ ni ẹẹkan nipa titẹ wọn niya nipasẹ semicolon kan:

pwd ; whoami

Ni otitọ, ti o ba gbiyanju eyi ni ebute rẹ, iwe afọwọkọ bash akọkọ rẹ, ti o kan awọn aṣẹ meji, ti kọ tẹlẹ. O ṣiṣẹ bi eleyi. Ẹgbẹ akọkọ pwd ṣafihan alaye nipa itọsọna iṣẹ lọwọlọwọ, lẹhinna aṣẹ naa whoamifihan alaye nipa olumulo ti o wọle bi.

Lilo ọna yii, o le darapọ bi ọpọlọpọ awọn aṣẹ bi o ṣe fẹ lori laini kan, opin nikan ni nọmba ti o pọju ti awọn ariyanjiyan ti o le kọja si eto naa. O le ṣalaye opin yii nipa lilo pipaṣẹ atẹle:

getconf ARG_MAX

Laini aṣẹ jẹ ọpa nla, ṣugbọn o ni lati tẹ awọn aṣẹ sinu rẹ ni gbogbo igba ti o nilo wọn. Bí a bá kọ àwọn àṣẹ kan sínú fáìlì kan tí a sì kàn pe fáìlì yẹn láti mú wọn ṣẹ ńkọ́? Ni otitọ, faili ti a n sọrọ nipa rẹ ni a pe ni iwe afọwọkọ laini aṣẹ.

Bawo ni awọn iwe afọwọkọ bash ṣiṣẹ

Ṣẹda ṣofo faili nipa lilo pipaṣẹ touch. Laini akọkọ rẹ nilo lati tọka iru ikarahun ti a yoo lo. A nife ninu bash, nitorina laini akọkọ ti faili naa yoo jẹ:

#!/bin/bash

Awọn ila miiran ninu faili yii lo aami hash lati tọka si awọn asọye ti ikarahun naa ko ṣiṣẹ. Bibẹẹkọ, laini akọkọ jẹ ọran pataki kan, hash kan wa ti o tẹle pẹlu ami igbejade (atẹle yii ni a pe shebang) ati ọna si bash, tọka si eto ti a ṣẹda iwe afọwọkọ ni pataki fun bash.

Awọn pipaṣẹ ikarahun ti yapa nipasẹ kikọ sii laini, awọn asọye ti yapa nipasẹ ami hash kan. Eyi ni ohun ti o dabi:

#!/bin/bash
# This is a comment
pwd
whoami

Nibi, gẹgẹ bi lori laini aṣẹ, o le kọ awọn aṣẹ lori laini kan, niya nipasẹ awọn semicolons. Sibẹsibẹ, ti o ba kọ awọn aṣẹ lori awọn ila oriṣiriṣi, faili naa rọrun lati ka. Ni eyikeyi idiyele, ikarahun naa yoo ṣe ilana wọn.

Ṣiṣeto awọn igbanilaaye faili iwe afọwọkọ

Fi faili pamọ fun orukọ kan myscript, ati iṣẹ ti ṣiṣẹda iwe afọwọkọ bash ti fẹrẹ pari. Bayi gbogbo ohun ti o ku ni lati jẹ ki faili yii ṣiṣẹ, bibẹẹkọ, ti o ba gbiyanju lati ṣiṣẹ, iwọ yoo pade aṣiṣe kan. Permission denied.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Igbiyanju lati ṣiṣe faili iwe afọwọkọ pẹlu awọn igbanilaaye ti ko tọ

Jẹ ki a jẹ ki faili ṣiṣẹ:

chmod +x ./myscript

Bayi jẹ ki a gbiyanju lati ṣiṣẹ:

./myscript

Lẹhin ti ṣeto awọn igbanilaaye ohun gbogbo ṣiṣẹ bi o ti yẹ.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Ni aṣeyọri nṣiṣẹ iwe afọwọkọ bash

Ifiranṣẹ jade

Lati gbe ọrọ jade si Linux console, lo pipaṣẹ naa echo. Jẹ ki a lo imọ ti otitọ yii ki o ṣatunkọ iwe afọwọkọ wa, fifi awọn alaye kun si data ti o jade nipasẹ awọn aṣẹ ti o wa ninu rẹ tẹlẹ:

#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami

Eyi ni ohun ti o ṣẹlẹ lẹhin ṣiṣe iwe afọwọkọ imudojuiwọn.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Awọn ifiranṣẹ ti njade lati inu iwe afọwọkọ kan

Bayi a le ṣe afihan awọn akọsilẹ alaye nipa lilo aṣẹ naa echo. Ti o ko ba mọ bi o ṣe le ṣatunkọ faili kan nipa lilo awọn irinṣẹ Linux, tabi o ko rii aṣẹ tẹlẹ echo, wo eyi ohun elo.

Lilo Awọn iyipada

Awọn oniyipada gba ọ laaye lati fipamọ alaye sinu faili iwe afọwọkọ, gẹgẹbi awọn abajade ti awọn aṣẹ, fun lilo nipasẹ awọn aṣẹ miiran.

Ko si ohun ti ko tọ si pẹlu pipaṣẹ awọn aṣẹ kọọkan laisi titoju awọn abajade wọn, ṣugbọn ọna yii jẹ opin ni awọn agbara rẹ.

Awọn oriṣi meji ti awọn oniyipada ti o le ṣee lo ni awọn iwe afọwọkọ bash:

  • Awọn iyipada Ayika
  • Olumulo Oniyipada

Awọn iyipada Ayika

Nigba miiran awọn aṣẹ ikarahun nilo lati ṣiṣẹ pẹlu diẹ ninu data eto. Eyi ni apẹẹrẹ ti bii o ṣe le ṣafihan ilana ile olumulo lọwọlọwọ:

#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"

Jọwọ ṣe akiyesi pe a le lo oniyipada eto $HOME ni awọn agbasọ meji, eyi kii yoo ṣe idiwọ eto naa lati mọ ọ. Eyi ni ohun ti o gba ti o ba ṣiṣe oju iṣẹlẹ ti o wa loke.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Lilo ohun ayika oniyipada ni a akosile

Kini ti o ba nilo lati ṣafihan ami dola kan loju iboju? Jẹ ki a gbiyanju eyi:

echo "I have $1 in my pocket"

Eto naa yoo rii ami dola kan ninu okun ti a sọ ati ro pe a ti tọka si oniyipada kan. Iwe afọwọkọ naa yoo gbiyanju lati ṣafihan iye ti oniyipada aisọye $1. Eyi kii ṣe ohun ti a nilo. Kin ki nse?

Ni ipo yii, lilo iwa abayọ, ipadasẹhin, ṣaaju ami dola yoo ṣe iranlọwọ:

echo "I have $1 in my pocket"

Awọn akosile yoo bayi jade gangan ohun ti o ti ṣe yẹ.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Lilo ọna abayo lati tẹ ami dola kan

Olumulo Oniyipada

Ni afikun si awọn oniyipada ayika, awọn iwe afọwọkọ bash gba ọ laaye lati ṣalaye ati lo awọn oniyipada tirẹ ninu iwe afọwọkọ naa. Iru awọn oniyipada di iye kan titi ti iwe afọwọkọ yoo pari ipaniyan.

Gẹgẹbi awọn oniyipada eto, awọn oniyipada olumulo le wọle si nipa lilo ami dola:
TNW-CUS-FMP - koodu igbega fun ẹdinwo 10% lori awọn iṣẹ wa, wa fun imuṣiṣẹ laarin awọn ọjọ 7

#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"

Eyi ni ohun ti o ṣẹlẹ lẹhin ṣiṣe iru iwe afọwọkọ kan.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Aṣa oniyipada ni a akosile

Fidipo aṣẹ

Ọkan ninu awọn ẹya ti o wulo julọ ti awọn iwe afọwọkọ bash ni agbara lati yọ alaye jade lati iṣelọpọ aṣẹ ati fi si awọn oniyipada, gbigba ọ laaye lati lo alaye yii nibikibi ninu faili iwe afọwọkọ.

Awọn ọna meji lo wa lati ṣe eyi.

  • Lilo awọn backtick "`"
  • Nipa apẹrẹ $()

Nigbati o ba nlo ọna akọkọ, ṣọra ki o maṣe fi ami ifọrọhan kan kun ni aaye ẹhin. Aṣẹ gbọdọ wa ni paamọ ni iru awọn aami meji:

mydir=`pwd`

Ni ọna keji, ohun kanna ni a kọ bi eleyi:

mydir=$(pwd)

Ati pe iwe afọwọkọ le pari ni wiwo bi eyi:

#!/bin/bash
mydir=$(pwd)
echo $mydir

Nigba awọn oniwe-isẹ, awọn o wu ti awọn pipaṣẹ pwdyoo wa ni fipamọ ni a oniyipada mydir, awọn akoonu ti eyi ti, lilo pipaṣẹ echo, yoo lọ si console.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Iwe afọwọkọ ti o fipamọ awọn abajade ti aṣẹ ni oniyipada kan

Awọn iṣẹ ṣiṣe mathematiki

Lati ṣe awọn iṣẹ ṣiṣe mathematiki ni faili iwe afọwọkọ, o le lo itumọ bi $((a+b)):

#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2

Awọn iwe afọwọkọ Bash: ibẹrẹ
Awọn iṣẹ Mathematiki ni iwe afọwọkọ kan

ti o ba ti-ki o si Iṣakoso òrùka

Ni diẹ ninu awọn oju iṣẹlẹ, o nilo lati ṣakoso sisan ti ipaniyan pipaṣẹ. Fun apẹẹrẹ, ti iye kan ba tobi ju marun lọ, o nilo lati ṣe iṣe kan, bibẹẹkọ, omiiran. Eyi wulo ni ọpọlọpọ awọn ipo, ati nibi iṣakoso iṣakoso yoo ran wa lọwọ if-then. Ni ọna ti o rọrun julọ o dabi eyi:

if команда
then
команды
fi

Eyi ni apẹẹrẹ iṣẹ:

#!/bin/bash
if pwd
then
echo "It works"
fi

Ni idi eyi, ti aṣẹ naa ba ti ṣiṣẹ pwdyoo pari ni aṣeyọri, ọrọ “o ṣiṣẹ” yoo han ninu console.

Jẹ ki a lo imo ti a ni ki o si kọ kan diẹ eka akosile. Jẹ ki a sọ pe a nilo lati wa olumulo kan ninu /etc/passwd, ati pe ti o ba ṣakoso lati rii, jabo pe o wa.

#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi

Eyi ni ohun ti o ṣẹlẹ lẹhin ṣiṣe iwe afọwọkọ yii.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Wiwa olumulo

Nibi ti a ti lo aṣẹ greplati wa olumulo ninu faili kan /etc/passwd. Ti o ba ti egbe grepunfamiliar si o, awọn oniwe-apejuwe le ṣee ri nibi.

Ni apẹẹrẹ yii, ti a ba rii olumulo, iwe afọwọkọ yoo ṣe afihan ifiranṣẹ ti o baamu. Ti a ko ba ri olumulo nko? Ni ọran yii, iwe afọwọkọ naa yoo pari ipaniyan lasan laisi sisọ ohunkohun fun wa. A fẹ ki o sọ fun wa nipa eyi paapaa, nitorinaa a yoo ṣe ilọsiwaju koodu naa.

ti o ba ti-ki o si-miiran ikole

Ni ibere fun eto naa lati ni anfani lati jabo awọn abajade mejeeji ti wiwa aṣeyọri ati ikuna, a yoo lo ikole naa if-then-else. Eyi ni bii o ṣe n ṣiṣẹ:

if команда
then
команды
else
команды
fi

Ti aṣẹ akọkọ ba pada si odo, eyiti o tumọ si pe o ti ṣiṣẹ ni aṣeyọri, ipo naa yoo jẹ otitọ ati pe ipaniyan kii yoo tẹsiwaju pẹlu ẹka naa. else. Bibẹẹkọ, ti nkan miiran ju odo ba pada, eyiti yoo tọka ikuna, tabi abajade eke, awọn aṣẹ lẹhin else.

Jẹ ki a kọ iwe afọwọkọ wọnyi:

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesn’t exist"
fi

Rẹ ipaniyan lọ si isalẹ awọn sisan else.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Nṣiṣẹ a akosile pẹlu ohun ti o ba ti-ki o si-miran òrùka

O dara, jẹ ki a tẹsiwaju ki a beere lọwọ ara wa nipa awọn ipo eka diẹ sii. Kini ti o ba nilo lati ṣayẹwo kii ṣe ipo kan, ṣugbọn pupọ? Fun apẹẹrẹ, ti olumulo ti o fẹ ba wa, ifiranṣẹ kan yẹ ki o han, ti awọn ipo miiran ba pade, ifiranṣẹ miiran yẹ ki o han, ati bẹbẹ lọ. Ni iru ipo bẹẹ, awọn ipo itẹ-ẹiyẹ yoo ran wa lọwọ. O dabi eleyi:

if команда1
then
команды
elif команда2
then
команды
fi

Ti aṣẹ akọkọ ba pada si odo, eyiti o tọka si ipaniyan aṣeyọri rẹ, awọn aṣẹ ti o wa ni bulọọki akọkọ yoo ṣiṣẹ. then, bibẹẹkọ, ti ipo akọkọ ba jẹ eke ati pe ti aṣẹ keji ba pada si odo, koodu keji ti koodu yoo ṣiṣẹ.

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesn’t exist but anyway there is a directory under /home"
fi

Ninu iru iwe afọwọkọ, o le, fun apẹẹrẹ, ṣẹda olumulo tuntun nipa lilo aṣẹ naa useradd, ti wiwa ko ba gbe awọn abajade jade, tabi ṣe nkan miiran ti o wulo.

Lafiwe awọn nọmba

Ninu awọn iwe afọwọkọ o le ṣe afiwe awọn iye nọmba. Ni isalẹ ni atokọ ti awọn aṣẹ ti o yẹ.

n1 -eq n2Pada otitọ ti o ba n1 dọgba n2.
n1 -ge n2 Pada otitọ ti o ba n1diẹ ẹ sii tabi dogba n2.
n1 -gt n2Pada otitọ ti o ba n1 siwaju sii n2.
n1 -le n2Pada otitọ ti o ba n1kere tabi dogba n2.
n1 -lt n2Pada otitọ ti n1 ba kere ju n2.
n1 -ne n2Pada otitọ ti o ba n1ko dogba n2.

Fun apẹẹrẹ, jẹ ki a gbiyanju ọkan ninu awọn oniṣẹ lafiwe. Ṣe akiyesi pe ikosile ti wa ni pipade ni awọn biraketi onigun mẹrin.

#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi

Eyi ni ohun ti aṣẹ yii yoo jade.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Ifiwera awọn nọmba ni awọn iwe afọwọkọ

Ayipada iye val1ti o tobi ju 5, ẹka naa pari ni pipa thenoniṣẹ lafiwe ati ifiranṣẹ ti o baamu yoo han ninu console.

Okun lafiwe

Awọn iwe afọwọkọ tun le ṣe afiwe awọn iye okun. Awọn oniṣẹ afiwe dabi ohun ti o rọrun, ṣugbọn awọn iṣẹ lafiwe okun ni awọn ẹya kan, eyiti a yoo fi ọwọ kan ni isalẹ. Eyi ni atokọ ti awọn oniṣẹ.

str1 = str2 Ṣe idanwo awọn okun fun idogba, pada ni otitọ ti awọn okun ba jẹ aami kanna.
str1 != str2Pada otitọ ti awọn okun ko ba jẹ aami kanna.
str1 < str2Pada otitọ ti o ba str1kere ju str2.
str1 > str2 Pada otitọ ti o ba str1ju lọ str2.
-n str1 Pada otitọ ti o ba gun str1Loke odo.
-z str1Pada otitọ ti o ba gun str1dogba si odo.

Eyi ni apẹẹrẹ ti ifiwera awọn gbolohun ọrọ ni iwe afọwọkọ kan:

#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user  is the current logged in user"
fi

Bi abajade ti ṣiṣe iwe afọwọkọ, a gba atẹle naa.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Ifiwera awọn gbolohun ọrọ ni awọn iwe afọwọkọ

Eyi ni ẹya kan ti lafiwe okun ti o tọ lati darukọ. Eyun, awọn ">" ati "<" awọn oniṣẹ gbọdọ wa ni salọ pẹlu ipadasẹhin, bibẹẹkọ iwe afọwọkọ naa kii yoo ṣiṣẹ ni deede, botilẹjẹpe ko si awọn ifiranṣẹ aṣiṣe yoo han. Iwe afọwọkọ naa tumọ ami ">" gẹgẹbi aṣẹ itusilẹ jade.

Eyi ni ohun ti ṣiṣẹ pẹlu awọn oniṣẹ wọnyi dabi ninu koodu:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Eyi ni awọn abajade ti iwe afọwọkọ naa.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Okun lafiwe, ikilo fun

Jọwọ ṣakiyesi pe iwe afọwọkọ naa, botilẹjẹpe ṣiṣe, ṣe ikilọ kan:

./myscript: line 5: [: too many arguments

Lati yọ ikilọ yii kuro, a pari $val2 ni awọn agbasọ ọrọ meji:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Bayi ohun gbogbo ṣiṣẹ bi o ti yẹ.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Okun lafiwe

Ẹya miiran ti ">" ati awọn oniṣẹ "<" ni bi wọn ṣe n ṣiṣẹ pẹlu awọn lẹta nla ati kekere. Lati le loye ẹya yii, jẹ ki a mura faili ọrọ kan pẹlu akoonu atẹle:

Likegeeks
likegeeks

Jẹ ki a fipamọ nipa fifun ni orukọ kan myfile, lẹhinna ṣiṣe aṣẹ wọnyi ni ebute naa:

sort myfile

O yoo to awọn ila lati faili bi eleyi:

likegeeks
Likegeeks

Egbe sort, nipa aiyipada, to awọn gbolohun ọrọ ni ọna ti o lọ soke, iyẹn ni, lẹta kekere ninu apẹẹrẹ wa kere ju ti oke lọ. Bayi jẹ ki a mura iwe afọwọkọ kan ti yoo ṣe afiwe awọn gbolohun ọrọ kanna:

#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

Ti o ba ṣiṣẹ, o wa ni pe ohun gbogbo ni ọna miiran ni ayika - lẹta kekere ti tobi ju ọkan lọ ni bayi.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Aṣẹ too ati afiwe awọn gbolohun ọrọ ni faili iwe afọwọkọ

Ni awọn aṣẹ lafiwe, awọn lẹta nla kere ju awọn lẹta kekere lọ. Ifiwewe okun nibi ni a ṣe nipa ifiwera awọn koodu ASCII ti awọn ohun kikọ, ilana too da lori awọn koodu ohun kikọ.

Egbe sort, ẹ̀wẹ̀, máa ń lo ọ̀nà tó tọ́ nínú àwọn ìtòlẹ́sẹẹsẹ èdè.

Awọn sọwedowo faili

Boya awọn ofin atẹle ni a lo nigbagbogbo ni awọn iwe afọwọkọ bash. Wọn gba ọ laaye lati ṣayẹwo awọn ipo oriṣiriṣi nipa awọn faili. Eyi ni atokọ ti awọn aṣẹ wọnyi.

-d fileṢayẹwo boya faili kan wa ati pe o jẹ itọsọna kan.
-e fileṢayẹwo boya faili naa wa.
-f file Ṣayẹwo boya faili kan wa ati pe o jẹ faili kan.
-r fileṢayẹwo boya faili naa wa ati pe o jẹ kika.
-s file ПṢayẹwo boya faili naa wa ati pe ko ṣofo.
-w fileṢayẹwo boya faili naa wa ati pe o jẹ kikọ.
-x fileṢayẹwo boya faili naa wa ati pe o le ṣiṣẹ.
file1 -nt file2 Ṣayẹwo boya o jẹ tuntun file1, Bawo file2.
file1 -ot file2Sọwedowo ti o ba ti agbalagba file1, Bawo file2.
-O file Ṣayẹwo boya faili naa wa ati pe o jẹ ohun ini nipasẹ olumulo lọwọlọwọ.
-G fileṢayẹwo boya faili naa wa ati boya ID ẹgbẹ rẹ baamu ID ẹgbẹ olumulo lọwọlọwọ.

Awọn ofin wọnyi, ati ọpọlọpọ awọn miiran ti a jiroro loni, rọrun lati ranti. Orukọ wọn, ti o jẹ awọn kuru ti awọn ọrọ oriṣiriṣi, tọka taara awọn sọwedowo ti wọn ṣe.

Jẹ ki a gbiyanju ọkan ninu awọn aṣẹ ni iṣe:

#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi

Iwe afọwọkọ yii, fun itọsọna ti o wa tẹlẹ, yoo ṣe afihan awọn akoonu rẹ.

Awọn iwe afọwọkọ Bash: ibẹrẹ
Kikojọ awọn akoonu ti a liana

A gbagbọ pe o le ṣe idanwo pẹlu awọn aṣẹ to ku funrararẹ; gbogbo wọn lo ni ibamu si ipilẹ kanna.

Awọn esi

Loni a sọrọ nipa bi a ṣe le bẹrẹ kikọ awọn iwe afọwọkọ bash ati bo diẹ ninu awọn nkan ipilẹ. Ni otitọ, koko-ọrọ ti siseto bash tobi. Nkan yii jẹ itumọ ti apakan akọkọ ti jara nla ti awọn ohun elo 11. Ti o ba fẹ tẹsiwaju ni bayi, eyi ni atokọ ti awọn atilẹba ti awọn ohun elo wọnyi. Fun irọrun, itumọ eyiti o kan ka wa ninu rẹ nibi.

  1. Igbesẹ Iwe afọwọkọ Bash Nipa Igbesẹ - nibi a n sọrọ nipa bi o ṣe le bẹrẹ ṣiṣẹda awọn iwe afọwọkọ bash, lilo awọn oniyipada ni a gbero, awọn ẹya ipo, awọn iṣiro, awọn afiwera ti awọn nọmba, awọn okun, ati wiwa alaye nipa awọn faili jẹ apejuwe.
  2. Bash Scripting Part 2, Bash awọn oniyi - nibi awọn ẹya ti ṣiṣẹ pẹlu fun ati nigba ti awọn lupu ti han.
  3. Bash Scripting Part 3, Parameters & awọn aṣayan - ohun elo yii jẹ iyasọtọ si awọn paramita laini aṣẹ ati awọn bọtini ti o le kọja si awọn iwe afọwọkọ, ṣiṣẹ pẹlu data ti olumulo n wọle ati pe o le ka lati awọn faili.
  4. Bash Scripting Apá 4, Input & o wu - nibi a n sọrọ nipa awọn olupejuwe faili ati ṣiṣẹ pẹlu wọn, nipa titẹ sii, iṣelọpọ, awọn ṣiṣan aṣiṣe, ati nipa itusilẹ ti njade.
  5. Bash Scripting Part 5, Sighals & Jobs - ohun elo yii jẹ iyasọtọ si awọn ifihan agbara Linux, sisẹ wọn ni awọn iwe afọwọkọ, ati ifilọlẹ awọn iwe afọwọkọ lori iṣeto kan.
  6. Bash Scripting Apá 6, awọn iṣẹ - nibi o le kọ ẹkọ nipa ṣiṣẹda ati lilo awọn iṣẹ ni awọn iwe afọwọkọ ati awọn ile-ikawe idagbasoke.
  7. Bash Scripting Part 7, Lilo sed - nkan yii jẹ iyasọtọ si ṣiṣẹ pẹlu olootu ọrọ ṣiṣan sed.
  8. Bash Scripting Part 8, Lilo awk - ohun elo yii jẹ iyasọtọ si siseto ni ede sisẹ data awk.
  9. Bash Scripting Part 9, Deede Expressions - Nibi o le ka nipa lilo awọn ikosile deede ni awọn iwe afọwọkọ bash.
  10. Bash Scripting Part 10, Practical Apeere - Eyi ni awọn ilana fun ṣiṣẹ pẹlu awọn ifiranṣẹ ti o le firanṣẹ si awọn olumulo, bakanna bi ọna fun ibojuwo disiki.
  11. Bash Scripting Apá 11, Reti Òfin - ohun elo yii jẹ igbẹhin si ohun elo Ireti, pẹlu eyiti o le ṣe adaṣe adaṣe pẹlu awọn ohun elo ibaraenisepo. Ni pataki, a n sọrọ nipa awọn iwe afọwọkọ ireti ati ibaraenisepo wọn pẹlu awọn iwe afọwọkọ bash ati awọn eto miiran.

A gbagbọ pe ọkan ninu awọn ẹya ti o niyelori ti jara ti awọn nkan ni pe, ti o bẹrẹ lati irọrun, ti o dara fun awọn olumulo ti ipele eyikeyi, o maa yori si awọn koko-ọrọ to ṣe pataki, fifun gbogbo eniyan ni aye lati ni ilọsiwaju ninu ṣiṣẹda awọn iwe afọwọkọ laini aṣẹ Linux. .

Eyin onkawe! A beere awọn gurus siseto bash lati sọrọ nipa bi wọn ṣe de ibi giga ti iṣakoso wọn, pin awọn aṣiri wọn, ati pe a nireti lati gba awọn iwunilori lati ọdọ awọn ti o ṣẹṣẹ kọ iwe afọwọkọ akọkọ wọn.

Awọn iwe afọwọkọ Bash: ibẹrẹ

Awọn olumulo ti o forukọsilẹ nikan le kopa ninu iwadi naa. wọle, Jowo.

Ṣe Mo yẹ ki n tumọ iyoku jara ti awọn nkan bi?

  • Bẹẹni!

  • Ko si iwulo

1030 olumulo dibo. 106 olumulo abstained.

orisun: www.habr.com

Fi ọrọìwòye kun