Чтобы в скрипте открыть какой-либо файл с программой, что надо написать? cd .../файл, а потом скопировать в скрипт код программы? что-то не проходит...
Чего-то у меня как всегда ничего не получилось... Исходное задание: надо реализовать сценарий с одним (обязательным) параметром, который определяет имя проекта. Сценарий создает каталог проекта с указанным именем(ну каталоги я вроде умею))) а в нем Makefile для сборки и каталог src, содержащий шаблон файла исходного кода на языке Си. Шаблон исходного кода должен представлять собой минимальный, но работоспособный код (программа типа hello world). Другими словами, должна быть возможность собрать и запустить сгенерированный код шаблона.
мда. а чем ты занимался на парах??
учти две вещи: во-первых, я абсолютно не уверен, что делаю сейчас что-то хорошее, и искренне надеюсь, что ты из уважения к человеку, решившему тебе помочь, разберешься с каждой командой и приемом, которые я использую. во-вторых, я это все наклепал прямо тут в форме ответа и не тестировал. во всяком случае, если указать имя проекта с пробелом, то не сработает, но и предупреждения не выдаст.
#!/bin/bash
MAKEFILE='
project: main.o
gcc main.o -o project
main.o: src/main.c
gcc -c src/main.c -o main.o
clean:
rm project main.o
'
MAINC='
#include <stdio.h>
int main() {
puts ("hello, world!\n");
}
'
if [ $# -ne 1 ]
then
echo "usage: $(basename $0) <projectname>"
exit 1
fi
mkdir -p $1/src
echo "$MAINC" > $1/src/main.c
echo "$MAKEFILE" | sed -e "s/project/$1/g" > $1/Makefile
cd $1
make
./$1
поверь, без таких элементарных знаний никуда, ни программисту, ни админу, ни даже продвинутому пользователю. почитай google(bash-scripting-guide). и обещай, что если все-таки заработает, то ты тут выложишь улучшенную тобой версию, как минимум с комментариями к каждой строчке.
а ты большой оригинал, я посмотрю. сначала попросил объявить исходное задание, а потом предлагаешь решение, совершенно не учитывающее условия. решил блеснуть знанием? не получилось, я в курсе, что гцц умет читать свой стандартный ввод.
фу, сколько НЕНАВИСТИ...
я как бы в курсе того, что мой ответ не очень здесь годится, так что не строй из себя великого умника!
мой ответ был скорее в духе just for information и направлен больше к ТС.