Довольно понятно.
Первый аргумент должен быть:
Проверено, существует ли файл Echo абсолютный путь этого файлаНапример:
+akiva@akiva-ThinkPad-X230:~$ ./myscript myfile.txt
/home/akiva/myfile.txt
Спасибо
Сценарий не нужен. Достаточно одной команды readlink:
$ cd /etc/
$ readlink -e passwd
/etc/passwd
Из man readlink:
-e, --canonicalize-existing
canonicalize by following every symlink in every component
of the given name recursively, all components must exist
#!/bin/bash
[[ -e "$1" ]] && echo realpath -e "$1"
Обновить, чтобы позаботиться о не буквенно-цифровых символах:
#!/bin/bash
[[ -e "$1" ]] && echo "$1" | sed -r 's/[^a-zA-Z0-9\-]/\//g' | realpath -e "$1"
Подготовить скрипт: chmod +x script_name, затем
использовать его: ./script_name filename [!d2 ]
Информация:
[[ -e "$1" ]]: проверьте, существует ли переданный файл.