Нужно написать скрипт
myscript [-n|-p] имя
работающий следующим образом:
1) cd /home/uzer
myscript -n /home/uzer
# должен вывести:
# uzer
myscript -n .
# должен вывести:
# uzer
myscript -n my_docs/file.txt
# должен вывести:
# file.txt
2) cd /home/uzer
myscript -p /home/uzer
# должен вывести:
# /home
myscript -p .
# должен вывести:
# /home
myscript -p my_docs/file.txt
# должен вывести:
# /home/uzer/my_docs
Данный скрипт одинаково действует и для файлов, и для каталогов - но он лишь для примера, не суть важно.
О команде basename знаю, как и то что она работает для каталогов.
К сожалению, "basename ." выводит "."
Путь для каталога думаю, можно найти с помощью cd и pwd (или можно проще?).
Основная загвоздка в получении полного пути к файлу.
Имея в наличии полный путь, нетрудно получить имя и путь:
name=$(basename $full_path_to_file)
path=${full_path_to_file%/*}
Предлагайте. :)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.