Bash programming, переменная

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Аватара пользователя
Garret
Сообщения: 91
ОС: Debian / Ubuntu
Контактная информация:

Bash programming, переменная

Сообщение Garret »

Как вернуть результат работы(то что в stdout) в переменную?

Хочу перейти в папку, xargs чего то не дружит с cd...

Вот например:
dirname $i | xargs cd не пашет, хотя dirname $i | xargs ls работает прекрасно.

Если пытаюсь сохранить так
result=dirname $i
echo $result

То там оказывается какой то бред.
Спасибо сказали:
RyMiS
Сообщения: 9
ОС: GNU/Linux

Re: Bash programming, переменная

Сообщение RyMiS »

Garret писал(а):
11.07.2007 13:23
Как вернуть результат работы(то что в stdout) в переменную?

Хочу перейти в папку, xargs чего то не дружит с cd...

Вот например:
dirname $i | xargs cd не пашет, хотя dirname $i | xargs ls работает прекрасно.

Если пытаюсь сохранить так
result=dirname $i
echo $result

То там оказывается какой то бред.


result=`dirname $i`
echo $result
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Bash programming, переменная

Сообщение t.t »

Ну и, соответственно, вместо
Garret писал(а):
11.07.2007 13:23
dirname $i | xargs cd
так:

Код: Выделить всё

cd `dirname $i`


Garret писал(а):
11.07.2007 13:23
Вот например:
dirname $i | xargs cd не пашет, хотя dirname $i | xargs ls работает прекрасно.
И кстати, причина этого в том, что cd -- встроенная команда bash, а ls -- внешняя:

Код: Выделить всё

t:~$ which cd
t:~$ which ls
/bin/ls
t:~$ echo tmp|xargs cd
xargs: cd: Нет такого файла или каталога
t:~$ echo tmp|xargs ls
foto.tif
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Ответить