Народ подскажите как получить имя файла без слешей в скрипте. допустим файл запускается из /usr/bin/ctest ... тогда переменная $0 получит значение /usr/bin/ctest а мне нужно получить именно имя файла без пути ... то есть просто ctest как бы сделать ?
Добавлено:
Разобрался. Пару вариантов(предполагаеться что нет аргументов коммандной строки после пути к файлу):
1. используем unix комманду basename
filename=`basename "$path_with_arg"`
echo $filename;
2. средствами самого bash:
filename=${path_with_arg##*/}
echo $filename;
смысл выражения ##:
${string##substring}
Удаление самой длинной, из найденых, подстроки $substring в строке $string. Поиск ведется с начала строки
где */ - любая последовательность символов включая /
Правильно обрабатывает случаи:
/usr/bin/test
./test
Добавлено:
Разобрался. Пару вариантов(предполагаеться что нет аргументов коммандной строки после пути к файлу):
1. используем unix комманду basename
filename=`basename "$path_with_arg"`
echo $filename;
2. средствами самого bash:
filename=${path_with_arg##*/}
echo $filename;
смысл выражения ##:
${string##substring}
Удаление самой длинной, из найденых, подстроки $substring в строке $string. Поиск ведется с начала строки
где */ - любая последовательность символов включая /
Правильно обрабатывает случаи:
/usr/bin/test
./test