Vadovas: Gaukite „Bash“ scenarijaus katalogą

Bash Script

„Bash“ scenarijaus katalogo gavimo supratimas

Dirbant su Bash scenarijais dažnai reikia žinoti katalogą, kuriame yra scenarijus. Tai gali būti naudinga atliekant įvairias užduotis, pvz., nustatant darbo katalogą arba pasiekiant failus, susijusius su scenarijaus vieta.

Šiame vadove mes išnagrinėsime, kaip iš paties scenarijaus išgauti „Bash“ scenarijaus katalogo kelią. Šis metodas yra ypač naudingas, kai norite, kad jūsų scenarijus veiktų kaip kitų programų paleidimo priemonė, užtikrinant, kad jis veiktų tinkamais failais.

komandą apibūdinimas
readlink -f Išsprendžia visą simbolinės nuorodos kelią, suteikdamas absoliutų Bash scenarijaus kelią.
dirname Ištraukiamas katalogo kelias iš nurodyto failo kelio, naudojamas scenarijaus katalogui nustatyti.
os.path.realpath(__file__) Grąžina kanoninį nurodyto failo kelią, išspręsdamas visas simbolines nuorodas Python.
os.chdir() Pakeičia dabartinį darbo katalogą į nurodytą kelią Python.
abs_path($0) Pateikiamas absoliutus scenarijaus, vykdomo Perl, kelias.
chdir() Pakeičia esamą darbo katalogą į nurodytą kelią Perl ir PHP.
system() Vykdo išorinę komandą iš Perl scenarijaus.
exec() Vykdo išorinę programą iš PHP scenarijaus, pakeisdamas dabartinį procesą.

Išsamus scenarijaus paaiškinimas

Pateikti scenarijai skirti nustatyti katalogą, kuriame jie yra, ir pakeisti darbo katalogą į tą kelią. Tai naudinga, kai scenarijus turi veikti su failais savo kataloge arba paleisti kitas programas iš tos vietos. Pavyzdžiui, Bash scenarijuje komanda naudojamas norint gauti absoliutų scenarijaus kelią, ir ištraukia katalogą iš to kelio. Tada komanda pakeičia esamą darbo katalogą į scenarijaus katalogą, užtikrindama, kad tolesnės komandos veiktų tinkamoje vietoje.

Python pavyzdyje gauna absoliutų scenarijaus kelią ir pakeičia darbo katalogą. Naudoja Perl scenarijus gauti absoliutų scenarijaus kelią ir chdir() pakeisti katalogus. Panašiai naudojamas PHP scenarijus rasti scenarijaus kelią ir norėdami pakeisti katalogą. Kiekvienas scenarijus baigiamas komanda paleisti programą, užtikrinant, kad ji veiktų scenarijaus katalogo kontekste.

„Bash“ scenarijaus katalogo nustatymas

Bash scenarijaus pavyzdys

#!/bin/bash
# Get the directory of the script
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
echo "The script is located in: $SCRIPT_DIR"

# Change to the script's directory
cd "$SCRIPT_DIR" || exit

# Execute the application
./application

Python alternatyva scenarijų katalogų nuskaitymui

Python scenarijaus pavyzdys

#!/usr/bin/env python3
import os
import sys

# Get the directory of the script
script_dir = os.path.dirname(os.path.realpath(__file__))
print(f"The script is located in: {script_dir}")

# Change to the script's directory
os.chdir(script_dir)

# Execute the application
os.system('./application')

Perl scenarijus, skirtas scenarijų katalogui nustatyti

Perl scenarijaus pavyzdys

#!/usr/bin/env perl
use Cwd 'abs_path';
use File::Basename;

# Get the directory of the script
$script_dir = dirname(abs_path($0));
print "The script is located in: $script_dir\n";

# Change to the script's directory
chdir $script_dir or die "Cannot change directory: $!";

# Execute the application
system('./application');

PHP scenarijus, skirtas jo katalogui rasti

PHP scenarijaus pavyzdys

//php
# Get the directory of the script
$script_dir = dirname(realpath(__FILE__));
echo "The script is located in: $script_dir\n";

# Change to the script's directory
chdir($script_dir);

# Execute the application
exec('./application');
//

Alternatyvūs scenarijų katalogo nustatymo metodai

Be anksčiau paminėtų metodų, yra ir kitų metodų, leidžiančių nustatyti „Bash“ scenarijaus katalogą. Vienas iš tokių būdų yra aplinkos kintamųjų naudojimas. Pavyzdžiui, kintamajame yra Bash scenarijaus failo kelias, kuris gali būti naudingas scenarijus, gautus naudojant kitus scenarijus. Kitas būdas yra komandinės eilutės argumentų panaudojimas. Analizuodami parametrą, kuriame yra vykdomo scenarijaus pavadinimas, galite nustatyti scenarijaus vietą, kai jis vykdomas iš įvairių kontekstų, pvz., simbolinių nuorodų ar šaltinio failų.

Šie alternatyvūs metodai gali suteikti lankstumo, atsižvelgiant į kontekstą, kuriame naudojamas scenarijus. Pavyzdžiui, kai kalbama apie simbolines nuorodas, dažnai būtina norint išspręsti tikrąjį scenarijaus kelią. Šių skirtingų metodų supratimas užtikrina, kad jūsų scenarijai yra tvirti ir pritaikomi įvairioms vykdymo aplinkoms, todėl padidėja jų naudingumas ir patikimumas.

  1. Kaip gauti scenarijaus katalogą naudojant ?
  2. Tu gali naudoti Norėdami gauti scenarijaus katalogą.
  3. Koks skirtumas tarp ir ?
  4. yra vykdomo scenarijaus pavadinimas, while yra visas šaltinio scenarijaus kelias.
  5. Ar galiu naudoti su simbolinėmis nuorodomis?
  6. taip, išsprendžia visą simbolinės nuorodos kelią.
  7. Ką daro daryti Python?
  8. pakeičia esamą darbo katalogą į nurodytą kelią.
  9. Kaip gauti absoliutų scenarijaus kelią „Perl“?
  10. Naudojant iš Cwd modulio pateikia absoliutų scenarijaus kelią.
  11. Kokia komanda PHP naudojama išorinei programai vykdyti?
  12. naudojamas išorinei programai paleisti PHP.
  13. Kaip pakeisti katalogą PHP?
  14. naudojamas pakeisti esamą darbo katalogą PHP.
  15. Kodėl naudingi scenarijuose?
  16. ištraukia katalogo kelią iš nurodyto failo kelio, padėdamas rasti scenarijaus katalogą.

„Bash“ scenarijaus katalogo nustatymas yra labai svarbi užduotis scenarijuose, kurie turi veikti su vietiniais failais arba paleisti programas. Naudodami tokias komandas kaip , , ir pasitelkę aplinkos kintamuosius, scenarijai gali dinamiškai koreguoti savo darbo katalogą. Ši praktika užtikrina, kad scenarijus veiktų tinkamai, nepaisant to, iš kur jis vykdomas. Šių metodų supratimas ir įgyvendinimas padidina jūsų scenarijų lankstumą ir patikimumą, todėl jie tampa veiksmingesni įvairioms programoms ir naudojimo atvejams.