Kā no skripta atrast direktoriju, kurā atrodas Bash skripts

Ka No Skripta Atrast Direktoriju Kura Atrodas Bash Skripts



Strādājot ar bash skriptiem, ir noderīgi zināt skripta atrašanās vietu. Tas var būt īpaši noderīgi, strādājot ar relatīviem failu ceļiem vai mēģinot izpildīt citus skriptus vai komandas no skripta. Šajā rakstā mēs apskatīsim dažus dažādus veidus, kā noteikt bash skripta direktoriju no paša skripta.

Kā no skripta atrast direktoriju, kurā atrodas Bash skripts

Bash skriptēšanas laikā var būt nepieciešama skripta atrašanās vieta, lai automatizētu dažādus uzdevumus. Operētājsistēmā Linux ir divu veidu ceļi:

  • Radinieku ceļš: Relatīvais ir pašreizējais darba direktorijs.
  • Absolūtais ceļš: Šis ir pilns direktorija un failu ceļš.

Viens no visizplatītākajiem bash skripta atrašanās vietas noteikšanas veidiem ir izmantot pwd komandu. The pwd komanda ( drukāt darba direktoriju) parādīs pašreizējo direktoriju.







Tātad daudzās situācijās vienkārši izmantojot pwd komanda nedarbojas, jo tā sniedz tikai pašlaik strādājošā direktorija ceļu.



Piemēram, ja skripts atrodas Lejupielādes direktorijā un tiek izpildīts no Darbvirsma tad izvadē būs /home/usr/Desktop nevis bash skripta faila atrašanās vieta /home/usr/Lejupielādes .



Šī apmācība ir par tā direktorija ceļa iegūšanu, kurā atrodas bash skripta fails no skripta.





Kā iegūt direktorija ceļu, kur atrodas Bash skripta fails

Vēl viens veids, kā noteikt Bash skripta direktoriju, ir izmantot dirname komandu. The dirname komanda izmanto faila ceļu kā argumentu un atgriež ceļa direktorijas daļu.

Izmantot dirname komandu, lai noteiktu skripta direktoriju, kā argumentu izsauktu komandu ar ceļu līdz pēdējiem komponentiem, kas nav slīpsvītras.



Lai iegūtu sīkāku informāciju par dirname izpildiet šādas komandas terminālī:

$ vīrietis dirname

Tikai dirname nedarbosies, mums vajag citu komandu, kas ir lasīt saiti . The lasīt saiti komandas drukāšana atrisināja simbolisko saiti. Iegūstiet vairāk informācijas par šo komandu, izpildot:

$ vīrietis lasīt saiti

Tagad izveidot skriptu :

$ sudo nano myScript.sh

Un ierakstiet:

#!/bin/bash

atbalss 'Bash skripta ceļš ir $(dirname — '$(lasīšanas saite -f - '$0') ' ; ) ';

Lai palaistu skriptu, izmantojiet:

$ bash myScript.sh

Mainīsim direktoriju un redzēsim, kāda ir izvade:

Piezīme: Vienā gadījumā iepriekš minētais skripts nedarbosies, ja fails tiek iegūts, nevis tiek izpildīts, kā to var redzēt šādā izvadē:

Izvade ir /home/sam/Desktop tā kā skripta fails atrodas failā /mājas/sam direktoriju.

Secinājums

Visbeidzot, ir vairāki veidi, kā noteikt bash skripta direktoriju no paša skripta. The dirname kopā ar lasīt saiti utilītu var izmantot, lai noteiktu skripta direktoriju. Tomēr vienkārši izmantojot pwd komanda nedarbojas, jo tā dod tikai pašlaik strādājošo direktoriju.