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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: cd не переходит  (Прочитано 748 раз)

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

Оффлайн honeybeer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
cd не переходит
« : 18 Января 2012, 15:03:07 »
Я пишу скипт, который должен переходить в следующую по списку директорию

!#/bin/sh
thisname=`/bin/pwd| tr "\/" "\n" |tail -n1`
cd ..
parentpath=`/bin/pwd`
nextpath=`find ./ -type d| grep -A1 $thisname|tail -n1`
cd "'$parentpath/$nextpath'"

Запускаю
user@Host ~/test/test(1) $ source cdnext.sh
bash: cd: '/home/user/test/./test(2)': Нет такого файла или каталога
вручную все работает:
user@Host ~/test $ cd '/home/user/test/./test(2)'
user@Host ~/test/test(2) $

Как сделать, чтобы заработало?
« Последнее редактирование: 18 Января 2012, 15:04:59 от honeybeer »
ASUS Sandy/Ivy Bridge + PCI = Nobody cares
Ciao mina-san

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
5 коп.
« Ответ #1 : 18 Января 2012, 15:11:29 »
thisname=`/bin/pwd| tr "\/" "\n" |tail -n1`
thisname=`/bin/pwd | sed -e "s/\///g"`
Подпись автора jillsmitt истинна...

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: cd не переходит
« Ответ #2 : 18 Января 2012, 15:12:21 »
Зачем менять каталог?
Исходная задача какая?
« Последнее редактирование: 18 Января 2012, 15:15:07 от arcfi »

Оффлайн honeybeer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: cd не переходит
« Ответ #3 : 18 Января 2012, 15:47:16 »
thisname=`/bin/pwd | sed -e "s/\///g"`
~/test/test(1) $echo $thisname
 homeusertesttest(1)
ASUS Sandy/Ivy Bridge + PCI = Nobody cares
Ciao mina-san

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: cd не переходит
« Ответ #4 : 18 Января 2012, 16:05:25 »
Предлагаю выкинуть баш, и взять нормальный язык программирования.

Оффлайн honeybeer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: cd не переходит
« Ответ #5 : 18 Января 2012, 16:15:11 »
Что не так с башем? Здесь используется только операция присваивания и cd
ASUS Sandy/Ivy Bridge + PCI = Nobody cares
Ciao mina-san

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: cd не переходит
« Ответ #6 : 18 Января 2012, 16:48:22 »
Что не так с башем? Здесь используется только операция присваивания и cd
Ага, а вы уже наступили на грабли.

Оффлайн honeybeer

  • Автор темы
  • Любитель
  • *
  • Сообщений: 92
    • Просмотр профиля
Re: cd не переходит
« Ответ #7 : 18 Января 2012, 18:00:09 »
thisname=`/bin/pwd| tr "\/" "\n" |tail -n1`
cd ..
parentpath=`/bin/pwd`
nextpath=`find ./ -type d|sort |grep -A1 "${thisname}"|tail -n1`
dest=`echo  "${parentpath}"/"${nextpath}"`
cd "${dest}"
ASUS Sandy/Ivy Bridge + PCI = Nobody cares
Ciao mina-san

 

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