Како пронаћи директориј у којем се налази Басх скрипта унутар скрипте

Kako Pronaci Direktorij U Kojem Se Nalazi Bash Skripta Unutar Skripte



Када радите са басх скриптама, корисно је знати локацију скрипте. Ово може бити посебно корисно када радите са релативним путањама датотека или када покушавате да извршите друге скрипте или команде из скрипте. У овом чланку ћемо погледати неколико различитих начина за одређивање директоријума басх скрипте из саме скрипте.

Како пронаћи директориј у којем се налази Басх скрипта унутар скрипте

Током басх скриптовања можда ће вам бити потребна локација скрипте да бисте аутоматизовали различите задатке. Постоје две врсте путања у Линуку:

  • Пут сродника: Релатив је тренутни радни директоријум.
  • Апсолутни пут: Ово је потпуна путања директоријума и датотека.

Један од најчешћих начина да се одреди локација басх скрипте је коришћење пвд команда. Тхе пвд команда ( штампа радни директоријум) ће приказати тренутни директоријум.







Дакле, у многим ситуацијама једноставно коришћење пвд команда не ради јер даје само путању тренутно радног директоријума.



На пример, ако је скрипта у Преузимања директоријум и извршава се из Десктоп онда ће излаз садржати /хоме/уср/Десктоп не локација датотеке басх скрипте која је /хоме/уср/Преузимања .



Овај водич се односи на добијање путање директоријума у ​​коме се налази датотека басх скрипте из скрипте.





Како добити путању до директоријума где се налази датотека Басх скрипте

Други начин да одредите директоријум Басх скрипте је да користите дирнаме команда. Тхе дирнаме команда узима путању датотеке као аргумент и враћа део путање директоријума.

Користити дирнаме команду за одређивање директоријума скрипте, позвали бисте команду са путањом до последње компоненте скрипте без косих црта као аргумент.



За више детаља о дирнаме извршите следеће команде у терминалу:

$ човек дирнаме

Само дирнаме неће радити, потребна нам је друга команда која је реадлинк . Тхе реадлинк команда принт решила је симболичку везу. Добијте више информација о овој команди тако што ћете покренути:

$ човек реадлинк

Сада, креирајте скрипту :

$ судо нано миСцрипт.сх

И откуцај:

#!/бин/басх

одјек „Путања басх скрипте је $(дирнаме -- '$(реадлинк -ф – '$0') ' ; ) ';

За покретање скрипте користите:

$ басх миСцрипт.сх

Хајде да променимо директоријум и видимо шта је излаз:

Белешка: У једном случају горња скрипта неће радити ако је датотека изворна уместо да се изврши, као што се може видети у следећем излазу:

Излаз је /хоме/сам/Десктоп док је датотека скрипте присутна у /хоме/сам именик.

Закључак

У закључку, постоји више начина да се одреди директоријум басх скрипте из саме скрипте. Тхе дирнаме упоредо са реадлинк услужни програм се може користити за одређивање директоријума скрипте. Међутим, једноставно коришћење пвд команда не ради јер даје само тренутно радни директоријум.