bash-скриптинг: как сохранить имя файла исходного кода в переменной? - PullRequest
0 голосов
/ 18 октября 2011

Я хочу имя файла, в котором написан код

например, если скрипт написан в файле с именем "name.sh"

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

вар = name.sh

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

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

Ответы [ 4 ]

1 голос
/ 18 октября 2011

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

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

var = $ (basename $ 0)

0 голосов
/ 18 октября 2011

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

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

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

test.sh
one
two
0 голосов
/ 18 октября 2011

Похоже, вы хотите либо $0 или $_, которые содержат имя текущего сценария.Смотрите здесь: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html#sect_03_02_04

0 голосов
/ 18 октября 2011

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

#!/bin/bash

echo This script file is named `basename $0`

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

#!/bin/bash

THESCRIPT=$0

echo This script file is named $THESCRIPT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...