Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Shell Python  (Прочитано 920 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн re2sgsii

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
  • Всё возможно, пока не сделан выбор
    • Просмотр профиля
Shell Python
« : 18 Апреля 2015, 16:24:25 »
Добрый день форумчане как в Shell реализовать выбор ( Yes / No ) ,если напишу y или Y дальше будут выполняться ,если NO или n то дальше действие не будет выполняться и будет выполняться следуещее

Вот пример кода
#!/bin/sh
GREEN="\033[1;32m"
RED="\033[0;31m"
YELLOW="\033[1;33m"
ENDCOLOR="\033[0m"

if [ $USER != root ]; then
  echo $RED"Вы должны зайти от имени root"
  exit 0
fi
# Проверяемая программа.
echo $OLDCONF

prog="Очистка системы"
echo $BLINK $YELLOW "$prog"$ENDCOLOR
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)

echo $YELLOW"\nУдаление кэша apt..."$ENDCOLOR
aptitude clean

echo $YELLOW"Удаление старых конфигов...."$ENDCOLOR
sudo aptitude purge $OLDCONF

echo $YELLOW"Удаление старых ядер..."$ENDCOLOR
sudo aptitude purge $OLDKERNELS

echo $YELLOW"Удаление частичных пакетов..."$ENDCOLOR
эрэм эрэф /home/*/.local/share/Trash/*/** &> /dev/null
эрэм эрэф /root/.local/share/Trash/*/** &> /dev/null

echo $YELLOW"Очистка завершена!"$ENDCOLOR

echo "-------------------------------------------------------"

# Установка программ.
prog1="Установка программ"
echo $RED"$prog1"$ENDCOLOR

echo "-------------------------------------------------------"
« Последнее редактирование: 20 Апреля 2015, 16:16:38 от re2sgsii »
Desktop OS: Linux Mint 17.1 Rebecca : Cinnamon 2.4.8
Всё возможно, пока не сделан выбор

Оффлайн SkinnyJack

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Shell Yes / No
« Ответ #2 : 18 Апреля 2015, 16:36:42 »
Я бы реализовал ручками.
Ну и бессмертное: http://www.opennet.ru/docs/RUS/bash_scripting_guide/

Оффлайн re2sgsii

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
  • Всё возможно, пока не сделан выбор
    • Просмотр профиля
Re: Shell Python
« Ответ #3 : 18 Апреля 2015, 18:19:46 »
« Последнее редактирование: 20 Апреля 2015, 16:18:22 от re2sgsii »
Desktop OS: Linux Mint 17.1 Rebecca : Cinnamon 2.4.8
Всё возможно, пока не сделан выбор

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Shell Yes / No
« Ответ #4 : 19 Апреля 2015, 01:29:15 »
re2sgsii,
Если проверяете на суперпользователя, проверяйте не на рута, а на UID 0.
Подробнее: http://superuser.com/questions/626843/does-the-root-account-always-have-uid-gid-0

Пользователь решил продолжить мысль 19 Апреля 2015, 01:36:05:
Кроме того, все пути (особенно при удалении) лучше брать в кавычки, а то тут уже были такие...
https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6

Пользователь решил продолжить мысль 19 Апреля 2015, 01:43:23:
А вообще, я в таких случаях делал ключ симуляции, когда скрипт лишь делает вид, что что-то делает, но просто пишет лог своих действий.
« Последнее редактирование: 19 Апреля 2015, 01:43:23 от Freezeman »

Оффлайн re2sgsii

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
  • Всё возможно, пока не сделан выбор
    • Просмотр профиля
Re: Shell Python
« Ответ #5 : 19 Апреля 2015, 19:19:08 »
У меня еще вопрос можно совместить shell с C++ или Python я думаю какой язык изучать просто два сразу не потяну ,я читал про C++ и Python и немогу определиться какой лучше и проще в изучении где больше информации для изучения с примерами
« Последнее редактирование: 20 Апреля 2015, 16:17:40 от re2sgsii »
Desktop OS: Linux Mint 17.1 Rebecca : Cinnamon 2.4.8
Всё возможно, пока не сделан выбор

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
Re: Shell Yes / No
« Ответ #6 : 20 Апреля 2015, 12:58:23 »
re2sgsii,
Python, ясен пень, проще. Эти языки абсолютно разные. Если не можете определиться -- выбирайте Python. А там уже изучить C++ будет проще.
Ещё как вариант: изучать Python, а попутно смотреть исходники его интерпретатора (он написан на C) -- там, вроде всё густо расписано тоннами комментариев -- как вариант изучения C.

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.