Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скрипт на Shell, где ошибка?? 
:(
    Опции темы
bilbobagginz
Дата 16.2.2009, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



убери кв. скобки на фиг.... 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
inside_pointer
Дата 17.2.2009, 05:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 8
Всего: 12



Код

#!/bin/bash

# Компилирует программы на Си в бинарники
# Example: script.sh *.c;

# Error:  print error message and exit;
#         Error msg;
Error() {
    echo "error: $*" 1>&2;
    exit 1;
};

# Msg:  print message;
#       Msg msg;
Msg() {
    echo "$*";
    return 0;
};

# ScriptName:  prints script name (where is this function);
#              ScriptName;
ScriptName() {
    echo "$(basename $0)";
    return 0;   
};

# CheckArgs:  check args of script, print message if wrong;
#             CheckArgs "$@";
CheckArgs() {
    if [ -z "$1" ]; then
        Msg "Usage: $(ScriptName) c_file(s)"
        return 1;
    fi;
    return 0;
};

# CompileSource:  compiling source file to object;
#                 CompileSource src;
CompileSource() {
    if [ ! -e "$1" ]; then
        return 1;
    fi;    
    cc -c "$1";
    return 0;
};

# LinkObject:  linking object file to a program;
#              LinkObject obj;
LinkObject() {
    local OUT;
    
    if [ ! -e "$1" ]; then
        return 1;
    fi;
    if [ ! -e "${1%.*}" ]; then
        OUT="${1%.*}";
    else
        OUT="${1}_";
    fi;    
    cc "$1" -o "$OUT";
    return 0;
};

# Compile:  compiling and linking file to binary
#           Compile file.c;
Compile() {
    if ! CompileSource "$1"; then
        Error "No source file";
    fi;    
    if ! LinkObject "${1%.c}.o"; then
        Error "No object file";
    fi;    
    Msg "Compiling $1 success";
    return 0;
};

# Run:  run compiling and linking for file(s)
#       Run "file.c ... ";
Run() {
    while [ ! -z "$1" ]; do
        Compile "$1";
        shift;
    done;    
};

if CheckArgs "$@"; then
    Run "$@";
fi;

exit 0;


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3390 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.