The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Авто копировать файлы из папки в папку на мгновение письменной Башар UNIX перспективных И опытных пользователей 2 08-21-2008 02:44 PM
цикл foreach ROOZ Shell программирование и сценарии 3 06-05-2008 03:20 PM
цикл foreach abch624 Shell программирование и сценарии 1 03-19-2008 09:34 PM
Разобрать. TXT файлов в папку, имя и FTP к corrsponding папку. MeganP Shell программирование и сценарии 3 07-03-2007 01:54 PM
foreach команда?! geoquest UNIX для чайников Вопросы И Ответы 5 05-20-2002 05:11 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-10-2007
eltinator eltinator is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 63
foreach папки

Привет,

У меня небольшой вопрос здесь, и я не могу получить его на работу. Я программирования скрипта для Bash, и мне нужно делать что-то на все папки в директории. Так я в каталоге, и я хочу использовать foreach выступление, но я не знаете, как ведение всех папках этого каталога. Чтобы сделать вещи упрощенческой здесь мой код:

Код:
foreach instance (.)
cd instance
mkdir test
end
в основном для каждой папки в этом каталоге, я хочу КР в нее и создать папку с именем испытания. Любые идеи?
Old 08-11-2007
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Регистрация: Dec 2004
Место проведения: Сингапур
Сообщений: 2350
То вроде этого:
Код:
for file in *; do
   if [ -d $file ]; then
      cd $file; mkdir test
   fi
done
-EDIT
Вы можете пропустить тестирования по каталогу, а. 'CD' не будет работать на все, за исключением каталогов (но там могут быть ссылки, которые указывают на директории, и нужно в конечном итоге создание "тест", где вы не хотите).
Old 08-11-2007
lorcan lorcan is offline
Зарегистрированный пользователь
  
 

Регистрация: May 2007
Сообщений: 219
Небольшое исправление blowtorch.

Код:
for file in *; do
   if [ -d $file ]; then
      mkdir $file/test; 
   fi
done
Поскольку вы издал CD команде было бы создать суб-реж только за первый каталог. Так что результат не будет, как ожидается.

Последний раз редактировалось lorcan; на 08-11-2007 07:51 AM..
Old 08-13-2007
eltinator eltinator is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 63
Цитата:
Первоначально Послано lorcan View Post
Небольшое исправление blowtorch.

Код:
for file in *; do
   if [ -d $file ]; then
      mkdir $file/test; 
   fi
done
Поскольку вы издал CD команде было бы создать суб-реж только за первый каталог. Так что результат не будет, как ожидается.
Привет, у меня был вопрос о CD вещь, как прийти она не работает? Я с внесением изменений в код пойти на определенные подпапки в каждой папке, а затем выполнить команду так что я не был уверен, как это сделать. В основном я пытаюсь сделать что-то вроде этого сейчас ...

текущего каталога:
ABC

Внутри каждой директории есть файл здесь (с использованием в качестве примера):
а / тест / папки / script.sh

Извините за непатентованных наименований. Теперь то, что я хочу, чтобы мой скрипт, чтобы сделать доступ script.sh что в каждой папке и запустите его. Я хочу сделать заявление для CD, а затем в том, что путь, а затем выполните команду выполнить, но я думаю это не так просто. Любые идеи? спасибо!
Old 08-13-2007
lorcan lorcan is offline
Зарегистрированный пользователь
  
 

Регистрация: May 2007
Сообщений: 219
Вы можете попробовать как

Код:
for file in *; do
   if [ -d $file ]; then
      ./$file/test/folder/script.sh; 
   fi
done

или если вы особенно вдаваться в каталог и запустить скрипт попробуйте так

Код:
scriptHome=$(pwd)   # Assuming that you are running from the path where a b c are present
for file in *; do
   if [ -d $file ]; then
      cd $file/test/folder;
      ./script.sh
   fi
   cd $scriptHome
done
Опять же при условии, что структура дерева тест / папки в директории A, B и C.
Old 08-11-2007
reborg's Avatar
reborg reborg is offline Forum Staff  
Администратор
  
 

Регистрация: Mar 2005
Место проведения: Ирландия
Сообщения: 4209
Цитата:
Первоначально Послано eltinator View Post
Привет,
Код:
foreach instance (.)
cd instance
mkdir test
end
Ваша главная проблема здесь не было логики, однако, что вы были с использованием синтаксиса из неправильных корпуса. Это csh синтаксиса.
Old 08-11-2007
eltinator eltinator is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 63
Спасибо, ребята. Поэтому в основном нет foreach команды в Bash?
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 04:44 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0