Я действительно хотел, чтобы термин ссылки в переименовании сохранился с расширением, иначе искатель не распознал бы тип файла.
поэтому я использовал ответ Даниэля (спасибо за это) и немного его изменил
for f in "$@"
do
dir=$(dirname "$f")
filename=$(basename "$f")
extension=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
filename="${filename%.*}"
ln "$f" "${dir}/$filename Hardlink$extension"
done
РЕДАКТИРОВАТЬ: добавил то, что я считаю лучшим кодом обработки расширений - должен быть пустым, если расширение отсутствует. Извините, я не очень хорош в написании сценариев, поэтому, пожалуйста, поделитесь любыми исправлениями, которые, по вашему мнению, необходимы