Tá roinnt roghanna Bash ar eolas go maith agus is minic a úsáidtear iad. Mar shampla, scríobhann go leor daoine ag tús na scripte
tacar -o xtrace
le haghaidh dífhabhtaithe,
tacar -o errexit
chun imeacht de dhearmad nó
set -o errunset
chun imeacht mura bhfuil an athróg ar a dtugtar socraithe.
Ach tá go leor roghanna eile ann. Uaireanta déantar cur síos ró-mhearbhall orthu i manas, mar sin tá cuid de na cinn is úsáidí bailithe agam anseo, le míniú.
Nóta: D'fhéadfadh go mbeadh leagan níos sine de bash (3.x seachas 4.x) ag Mac nuair nach bhfuil na roghanna seo ar fad ar fáil. Sa chás seo, féach
set
nó shopt
?
Tá dhá bhealach ann chun roghanna bash a shocrú: ó script nó ón líne ordaithe. Is féidir leat orduithe ionsuite a úsáid set
и shopt
. Athraíonn an dá iompar an bhlaosc, a dhéanamh i bhfad an rud céanna (le hargóintí éagsúla), ach difriúil ina gcuid set
a fhaightear le hoidhreacht nó a fuarthas ar iasacht ó pharaiméadair sliogáin eile, agus paraiméadair shopt
cruthaithe i bash.
Más mian leat na roghanna reatha a fheiceáil, rith:
$ set -o
$ shopt
Chun an rogha a ghníomhachtú i set
Úsáidtear comhréir fhada nó gearr:
$ set -o errunset
$ set -e
Tá an éifeacht mar an gcéanna.
Chun an rogha a dhíchumasú, ní mór duit móide a chur in ionad lúide:
$ set +e
Ar feadh i bhfad ní raibh mé in ann cuimhneamh ar an chomhréir seo mar bhí an chuma ar an loighic mícheart (cuireann comhartha lúide an rogha, agus díchumasaíonn comhartha móide é).
В shopt
(níos loighciúla) úsáidtear bratacha chun roghanna a chumasú agus a dhíchumasú -s
(leagtar) agus -u
(unset):
$ shopt -s cdspell # <= on
$ shopt -u cdspell # <= off
Eolairí a athrú
Tá roinnt roghanna ann a chabhróidh leat oibriú le heolairí.
1.cdspell
Leis an socrú seo, tosóidh bash ag tuiscint typos agus tabharfaidh sé chuig an bhfillteán a ndearna tú mílitriú ar a ainm.
$ shopt -s cdspell
$ mkdir abcdefg
$ cd abcdeg
abcdefg
$ cd ..
Tá mé ag baint úsáide as an rogha seo le blianta fada agus go han-annamh (b'fhéidir uair sa bhliain) déanann sé cinneadh an-aisteach. Ach ar laethanta eile cdspell
Sábhálann am, literally gach lá.
2. autocd
Mura bhfuil tú sásta glacadh le neamhéifeachtúlacht na n-iontrálacha iolracha cd
, ansin is féidir leat an rogha seo a shocrú chun bogadh go dtí an fillteán X mura bhfuil an t-ordú X ann.
$ shopt -s autocd
$ abcdefg
$ cd ..
In éineacht le uathchríochnú, ligeann sé seo duit léim go tapa idir fillteáin:
$ ./abc[TAB][RETURN]
cd -- ./abcdefg
Ná hainmnigh an fillteán rm -rf *
(tá, dála an scéil, is féidir é seo).
3.direxpand
Is rogha iontach é seo a leathnaíonn athróga timpeallachta trí Cluaisín a bhrú:
$ shopt -s direxpand
$ ./[TAB] # заменяется на...
$ /full/path/to/current_working_folder
$ ~/[TAB] # заменяется на...
$ /full/path/to/home/folder
$ $HOME/[TAB] # заменяется на...
$ /full/path/to/home/folder
aschur glan
4. seiceanna
Cuireann an rogha seo stop le logáil amach as an seisiún má tá poist fós ar siúl sa chúlra.
In ionad dul amach, taispeántar liosta tascanna neamhchríochnaithe. Más mian leat imeacht fós, ansin cuir isteach arís exit
.
$ shopt -s checkjobs
$ echo $$
68125 # <= ID процесса для оболочки
$ sleep 999 &
$ exit
There are running jobs.
[1]+ Running sleep 999 &
$ echo $$
68125 # <= ID процесса для оболочки тот же
$ exit
There are running jobs.
[1]+ Running sleep 999 &
$ exit
$ echo $$
$ 59316 # <= на этот раз ID процесса изменился
Sárchumhachtaí ionadaíochta
5.globstar
Tugann an rogha seo sárchumhachtaí ionadaíochta duit! Má chuireann tú isteach:
$ shopt -s globstar
$ ls **
ansin taispeánfaidh an bhlaosc gach eolaire agus fochomhadlann go hathchúrsach.
I dteannta direxpand
Is féidir leat gach rud níos ísle san ordlathas a fheiceáil go tapa:
$ shopt -s direxpand
$ ls **[TAB][TAB]
Display all 2033 possibilities? (y or n)
6.extglob
Cumasaíonn an rogha seo gnéithe a bhaineann níos coitianta le habairtí rialta. Uaireanta tá sé seo an-úsáideach:
$ shopt -s extglob
$ touch afile bfile cfile
$ ls
afile bfile cfile
$ ls ?(a*|b*)
afile bfile
$ ls !(a*|b*)
cfile
Anseo cuirtear na patrúin i lúibíní agus scartha le barra ingearach. Seo iad na hoibreoirí atá ar fáil:
? oireann náid nó teagmhas amháin de na patrúin tugtha ! = taispeáin gach rud nach meaitseálann na patrúin tugtha * = tarluithe nó níos mó náid + = tarluithe amháin nó níos mó @ = teagmhas amháin
Cosaint timpiste
7. histverify
Féadfaidh sé a bheith rud beag scanrúil ar dtús úsáid a bhaint as na horduithe seolta tapa ó stair na ngiorrúchán !!
и !$
.
Rogha histverify
ligeann sé duit a fheiceáil ar dtús conas a léirmhíníonn Bash an t-ordú sula ritheann sé i ndáiríre:
$ shopt -s histverify
$ echo !$ # <= По нажатию Enter команда не запускается
$ echo histverify # <= Она сначала демонстрируется на экране,
histverify # <= а потом запускается
8. Oíche Shamhna
Arís, chun cosaint a dhéanamh ar thimpistí, eadhon ó chomhad atá ann cheana féin leis an oibreoir atreoraithe a fhorscríobh (>
). Is féidir leis seo a bheith ina thubaiste mura bhfuil cúltaca agat.
Rogha set -С
cosc ar fhorscríobh den sórt sin. Más gá, is féidir leat an chosaint a sheachbhóthar ag baint úsáide as an oibreoir >|
:
$ touch afile
$ set -C
$ echo something > afile
-bash: afile: cannot overwrite existing file
$ echo something >| afile
$
Foinse: will.com