Извлечь базовое имя файла без пути и расширения в bash [дубликат]

На этот вопрос уже есть ответ здесь:

Извлечь имя файла и расширение в Bash 36 ответов

Даны имена файлов, подобные этим:

/the/path/foo.txt
bar.txt

Я надеюсь получить:

foo
bar

Почему это не работает?

#!/bin/bash

fullfile=$1
fname=$(basename $fullfile)
fbname=${fname%.*}
echo $fbname

Какой правильный способ сделать это?

Ответы на вопрос(9)

Ваш ответ на вопрос