2017-02-16 14 views
0

Есть ли способ сохранить имя файла в переменной, где написан аргумент переменной? Вместо hardcoding имя файла, я хотел бы, чтобы переменная узнала, в каком файле находится и хранит имя файла в переменной.Переменная, которая хранит имя файла, находится в

+0

В 'bash',' $ 0' дается имя shell или shell-скрипта runnin g, если это помогает. – leekaiinthesky

+0

Кажется, это то, что мне нужно, но оно отображает имя файла так же, как оно было вызвано; относительный или абсолютный. Как это будет вести себя в cron? – Andy

+0

@ Энди, почему бы не попытаться выяснить это :) –

ответ

1

имя_директория $ 0 даст каталог относительно как его называли, так что вам нужно, чтобы получить расширенный путь:

FULLPATH=$(cd $(dirname $0); pwd) 

базовых $ 0 дадут имя сценария оболочки так

SHORTNAME=$(basename $0) 

$FULLPATH/$SHORTNAME # is the fully qualified location of the current script. 

Полное имя пути обсуждается как наиболее часто задаваемый вопрос: Getting the source directory of a Bash script from within