2011-10-18 2 views
0

Я хочу, чтобы имя файла, в котором код написанbash scripting: как сохранить имя файла исходного кода в переменной?

, например, если сценарий написан в файле под названием «name.sh»

тогда я хочу иметь переменную, например

вар = name.sh

где вар будет держать имя файла

, но предположим, что я не знаю, имя файла, как я могу это сделать?

ответ

1

Вы можете использовать базовое имя.

базового имя - каталог полосы и суффикс от имени файла

вара = $ (базовый $ 0)

0

Для этого вы можете использовать встроенную переменную bash $0.

#!/bin/bash 

echo This script file is named `basename $0` 

Если вы хотите сохранить его в другой переменной, вы можете сделать:

#!/bin/bash 

THESCRIPT=$0 

echo This script file is named $THESCRIPT 
0

Вы можете использовать $0, что эквивалентно argv [0] на некоторых других языках программирования.

#!/bin/bash 
echo $0 
echo $1 

Если вы запустите скрипт Баш выше с $ sh file.sh one two вы получите следующий вывод.

test.sh 
one 
two 
Смежные вопросы