Kuinka löytää komentosarjan sisältä hakemisto, jossa Bash-skripti sijaitsee

Kuinka Loytaa Komentosarjan Sisalta Hakemisto Jossa Bash Skripti Sijaitsee



Kun työskentelet bash-skriptien kanssa, on hyödyllistä tietää komentosarjan sijainti. Tämä voi olla erityisen hyödyllistä käytettäessä suhteellisia tiedostopolkuja tai kun yrität suorittaa muita komentosarjoja tai komentoja skriptin sisällä. Tässä artikkelissa tarkastellaan muutamia eri tapoja määrittää bash-skriptin hakemisto itse komentosarjan sisältä.

Kuinka löytää komentosarjan sisältä hakemisto, jossa Bash-komentosarja sijaitsee

Bash-komentosarjan aikana saatat vaatia komentosarjan sijainnin eri tehtävien automatisoimiseksi. Linuxissa on kahdenlaisia ​​polkuja:

  • Sukulaisten polku: Suhteellinen on nykyinen työhakemisto.
  • Absoluuttinen polku: Tämä on hakemiston ja tiedostojen täydellinen polku.

Yksi yleisimmistä tavoista määrittää bash-skriptin sijainti on käyttää pwd komento. The pwd komento ( tulostaa työhakemisto) näyttää nykyisen hakemiston.







Joten monissa tilanteissa yksinkertaisesti käyttämällä pwd komento ei toimi, koska se antaa vain nykyisen hakemiston polun.



Jos komentosarja on esimerkiksi Lataukset hakemistosta ja suoritetaan osoitteesta Työpöytä silloin tulos sisältää /home/usr/Desktop ei bash-skriptitiedoston sijaintia /home/usr/Lataukset .



Tämä opetusohjelma käsittelee sen hakemiston polun saamista, jossa bash-skriptitiedosto sijaitsee komentosarjan sisältä.





Kuinka saada hakemistopolku, jossa Bash-skriptitiedosto sijaitsee

Toinen tapa määrittää Bash-komentosarjan hakemisto on käyttää dirname komento. The dirname komento ottaa tiedostopolun argumenttina ja palauttaa polun hakemistoosan.

Käyttää dirname komento komentosarjan hakemiston määrittämiseksi, kutsuisi komentoa, jonka argumenttina on polku komentosarjan viimeisiin ei-vinoviivakomponentteihin.



Lisätietoja aiheesta dirname suorita seuraavat komennot terminaalissa:

$ mies dirname

Vain dirname ei toimi, tarvitsemme toisen komennon lue linkki . The lue linkki komento print ratkaisi symbolisen linkin. Saat lisätietoja tästä komennosta suorittamalla:

$ mies lue linkki

Nyt, luo skripti :

$ sudo nano myScript.sh

Ja kirjoita:

#!/bin/bash

kaiku 'Bash-skriptin polku on $(dirname -- '$(readlink -f - '$0')) ' ; ) ';

Käytä komentosarjaa:

$ lyödä myScript.sh

Vaihdetaan hakemistoa ja katsotaan mikä on tulos:

Huomautus: Yhdessä tapauksessa yllä oleva komentosarja ei toimi, jos tiedosto on peräisin sen suorittamisen sijaan, kuten seuraavasta lähdöstä voidaan nähdä:

Lähtö on /home/sam/Työpöytä kun taas komentosarjatiedosto on olemassa /koti/sam hakemistosta.

Johtopäätös

Yhteenvetona voidaan todeta, että on useita tapoja määrittää bash-skriptin hakemisto itse komentosarjan sisältä. The dirname kera lue linkki apuohjelmalla voidaan määrittää komentosarjan hakemisto. Kuitenkin yksinkertaisesti käyttämällä pwd komento ei toimi, koska se antaa vain tällä hetkellä toimivan hakemiston.