Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: bash - символ домашней папки  (Прочитано 1218 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex-v

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
bash - символ домашней папки
« : 21 Августа 2010, 14:17:37 »
есть такой скрипт к примеру:

#!/bin/bash
read str
mkdir $str

Запускаю скрипт. Ввожу "~/aaa". И папка не создаётся. Пишет ошибку в команде mkdir.
Если ввести полный путь, без символа "~", то всё ОК.
Подскажите почему я не могу ввести скрипту путь с символом "~" ?
« Последнее редактирование: 21 Августа 2010, 14:26:23 от alex-v »
С Богом. Александр.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash - символ домашней папки
« Ответ #1 : 21 Августа 2010, 14:22:43 »

Оффлайн alex-v

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: bash - символ домашней папки
« Ответ #2 : 21 Августа 2010, 20:23:58 »
спасибо. за ссылку. почитал. Но вопрос: у меня в скрипте и при вводе тильда не экранируется кавычками. Почему тогда не фурычит...? не хочет...
С Богом. Александр.

Оффлайн ierofant

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: bash - символ домашней папки
« Ответ #3 : 21 Августа 2010, 21:40:32 »
Принципиально вводить тильду? Может использовать переменную окружения HOME?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: bash - символ домашней папки
« Ответ #4 : 21 Августа 2010, 23:16:40 »
Ну и как вариант:  mkdir $(sed s,^~,"$HOME", <<<$str)

Пользователь решил продолжить мысль 21 Августа 2010, 23:19:06:
И да, использование read здесь принципиально? Данные нужно получать именно из stdin а не из командной строки?
« Последнее редактирование: 21 Августа 2010, 23:19:06 от Mam(O)n »

Оффлайн alex-v

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: bash - символ домашней папки
« Ответ #5 : 22 Августа 2010, 08:16:24 »
Ну и как вариант:  mkdir $(sed s,^~,"$HOME", <<<$str)

спасибо. Это выход
С Богом. Александр.

 

Страница сгенерирована за 0.065 секунд. Запросов: 26.