The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Помогите разобраться со звёздочкой (shell), !*! openda, 17-Сен-09, 23:06  [смотреть все]
Доброго времени суток!

Есть такой скрипт (точнее часть скрипта:) ):
#!/bin/bash
echo "$1"
for file in $1                    
  do
   echo "$file"
done
exit 0

Если в качестве параметра скрипту передать "*" то будет обработан только первый файл в каталоге и echo "$1" выводит имя только первого файла, хотя в терминале "echo *" выводит список всех файлов в каталоге. Как можно использовать звёздочку в качестве параметра скрипта, чтобы обрабатывались все файлы и при этом не экранировать звёздочку прямо в командной строке?

  • Помогите разобраться со звёздочкой (shell), !*! Slavaz, 23:46 , 17-Сен-09 (1)
    >[оверквотинг удален]
    >   echo "$file"
    > done
    >exit 0
    >
    >Если в качестве параметра скрипту передать "*" то будет обработан только первый
    >файл в каталоге и echo "$1" выводит имя только первого файла,
    >хотя в терминале "echo *" выводит список всех файлов в каталоге.
    >Как можно использовать звёздочку в качестве параметра скрипта, чтобы обрабатывались все
    >файлы и при этом не экранировать звёздочку прямо в командной строке?
    >

    1) замени в скрипте $1 на $@
    2) man bash
    3) https://www.opennet.ru/docs/HOWTO-RU/Bash-Prog-Intro.html




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру