Большое спасибо. И ещё тогда ворос, скрипт не запускаеться, пишет Permission denied. Хотя я нахожусь под рутом. Или в скрипте это нужно где-то указать?
Пишем скрипты в Linux (обучение на примерах)
[console=root]chmod ug+x file.sh
[root@linuxforum.ru ~]#./file.sh[/console]
Если выполните "ls -l", увидите, что права на исполнение (x) нет. Нужно выдать:
# chmod +x имя_скриптаКроме того, у рута текущий каталог отсутствует в $PATH, поэтому, если запускать из текущего каталога, то не забыть указание пути (в примере ниже -- относительного):
./имя_скриптаИли добавить в один из каталогов, перечисленных в $PATH.
Можно просто:
# bash имя_скриптаРаботает :) Всмем спасбо *BRAVO* *BRAVO*
Тоже всё получилось, заработало на УРА!
кто подскажет как на основе этого сделать выбор и выполнения скрипта в зависимости от того что выберешь...
15) Оператор выбора - Case#!/bin/bash
echo "What is your preferred programming / scripting language"
echo "1) bash"
echo "2) perl"
echo "3) phyton"
echo "4) c++"
echo "5) I do not know !"
read case;
# простая структура case-выбора
# обратите внимание, что в данном примере $case - всего лишь переменная
# и не обязана так называться. Это лишь пример
case $case in
1) echo "You selected bash";;
2) echo "You selected perl";;
3) echo "You selected phyton";;
4) echo "You selected c++";;
5) exit
esac
$ ./case.sh
What is your preferred programming / scripting language
1) bash
2) perl
3) phyton
4) c++
5) I do not know !
4
You selected c++Всём спасибо! сам разобрался, остановился на скрипте который выше...
Up: как сделать чтобы водной из этих функций можно было скажем путь указат
пример:
#!/bin/bash
echo "other"
echo "1) Copy as.."
echo "2) Auto copy to profile"
echo "0) Closed"
read case;
case $case in
1) cp test.txt <указать путь самому> echo "Please enter path:" ;;
2) cp test.txt /home/user ;;
0) exit
esac$ ./test.sh
other
1) Copy as.
2) Auto copy to profile
0) Closed
1
Please enter path:
/var/wwwcase $case in
Использование в качестве имени переменной названия оператора оболочки — плохая привычка.
Up: как сделать чтобы водной из этих функций можно было скажем путь указат
Использовать read внутри одного из пунктов выбора конструкции case, чтобы получить данные о пути от пользователя.
можно на примере, пока не понимаю как его использовать?!
Up: Спасибо за подсказку, разобрался...
Рабочий пример:
#!/bin/bash
echo "Install BF2CCD"
echo "1) Install 'Note: installing mono required to run BF2CCD!'"
echo "0) Cancel"
read case;
case $case in
1) echo "Please enter path install BF2CCD:"
read key
cp BDSoft.BF2.Server.dll bf2ccd.exe $key ;;
0) exit
esac