LPIC 105.2 часть первая: Создание простого bash-скрипта

Поделиться
HTML-код
  • Опубликовано: 3 апр 2015
  • Разбираемся с тем как превратить обычный текстовый файл в bash-скрипт. С тем для чего это нужно, разберемся дальше.

Комментарии • 39

  • @kadyrkulove
    @kadyrkulove 5 лет назад +6

    Спасибо за всё ваши видосы! Кстати, вместо clear я использую комбинацию Ctrl+L)

    • @roottexet2451
      @roottexet2451 3 года назад

      привет, есть одно но, клеар очищает консоль(условно полностью), а Ctrl+L очищает, но история сохраняется. знаю я сказал очевидную вещь, но иногда хочется вставить свои 5 копеек)

    • @Patifonii
      @Patifonii 3 года назад +3

      А сделал просто свой алиас привязав clear к команде cls, как в винде. быстрее чем к контролу тянуться, если часто чистите можно вообще привязать к букве c или cl.

  • @PROGamersf36
    @PROGamersf36 3 года назад

    Урок классный! спасибо

  • @alexeydobriy2712
    @alexeydobriy2712 9 лет назад +4

    Нифига себе, искусственный интеллект на БАШЕ

  • @Patifonii
    @Patifonii 3 года назад

    Спасибо, Кирилл )

  • @user-lk6gp5nk9e
    @user-lk6gp5nk9e 9 лет назад +5

    Спасибо за урок, Кирилл! Скажи пожалуйста, верно ли утверждение того, что если не указывать специально, какая оболочка должна выполнять скрипт, то скрипт будет выполняться тем шеллом, который указан в $SHELL? И ещё отступы ;) А в скрипте ошибка, т.к. операторную скобку fi закрыл с заглавной буквы.

    • @KirillSemaev
      @KirillSemaev  9 лет назад +3

      Ян Драгович Спасибо за хороший вопрос, как-то я его вниманием обошел)
      Теоретически строка с шебангом вообще не нужна, и скрипт выполнится в той оболочке, из которой его запустили. Но, нужно, конечно указывать, мало ли кто как решит этот скрипт запустить. По скрипту четко заметил, я его скоренько накатал))

  • @oleksandrlytvyn532
    @oleksandrlytvyn532 3 года назад

    Спасибо

  • @vahesahakyan2977
    @vahesahakyan2977 5 лет назад

    Кирилл, спасибо большое за уроки.
    Работающий скрипт из урока.
    #!/bin/bash
    echo "Are you hungry?"
    read VALUE
    if [ $VALUE = "YES" ];
    then
    echo Make some dinner
    else
    echo Continue working ! ! !
    fi

    • @alexandrkushnir4221
      @alexandrkushnir4221 5 лет назад +1

      этот скрипт не верный) у тебя при любом ответе будет выводить - Make some dinner

    • @vahesahakyan2977
      @vahesahakyan2977 5 лет назад

      @@alexandrkushnir4221 Этот "не верный скрипт" у меня правильно работает :)

    • @alexandrkushnir4221
      @alexandrkushnir4221 5 лет назад +1

      @@vahesahakyan2977 он ясен пень будет работать, но ответ будет одни и тем же)))

    • @vahesahakyan2977
      @vahesahakyan2977 5 лет назад +1

      @@alexandrkushnir4221 Я не написал, что он просто работает, так что не надо умничать. Я написал что скрипт ПРАВИЛЬНО работает. Это означает, что оно, ссылаясь на значение VALUE, дает РАЗНЫЕ ответы.

    • @m19stv
      @m19stv 3 года назад +2

      @@alexandrkushnir4221 он добавил пробелы в условия if(между переменной, знаком равно и значением), и его скрипт работает верно. Но думаю вы и сами уже давно, это увидели

  • @nafan2295
    @nafan2295 8 лет назад

    +Kirill Semaev А как открыть этот скрипт чтобы он был как у тебя в видео (Ну у тя не блокнот , ты нажимаешь Enter и у тебя всё сохраняется и ты можешь его проверить в практике а в блокноте и т.п. Не проверяется

    • @KirillSemaev
      @KirillSemaev  8 лет назад

      +Витя Петров не совсем понимаю вопрос. У меня тоже блокнот, точнее текстовый редактор - Vi. Ты о нем? Вот по нему видео если что: ruclips.net/video/ocln2_AJ4vo/видео.html

  • @vladislavzubov2818
    @vladislavzubov2818 5 лет назад

    Добрый вечер.
    условия:
    1) В системе два пользователя user1 и user2
    2) файл(script) был создан пользователем user1
    3) изменяем ему права доступа таким образом -rwsr--r--
    4) заходим под пользователем user2(su user2)
    пытаемся запустить файл script(./script) и пишет что доступ запрещен. на 8:50 минуте вы обещаете что файл можно запустить с правами владельца любому пользователю. Где правда?

    • @KirillSemaev
      @KirillSemaev  5 лет назад

      у пользователя должны быть права на запуск файла, чтоб он мог его запустить с правами владельца

  • @user-re7go8ly2s
    @user-re7go8ly2s 3 года назад

    Ничего не понятно но интересно

  • @gimtonic
    @gimtonic 6 лет назад

    ЗДравствуйте, Кирилл! Одна надежда на вас! Надо сделать баш скрипт установки пакетов на сервер. Я его сделал. Но как отработать в автоматическом режиме например нажатие клавиш enter(например нужно обязательно ввести enter после установки репозитория и апдейта) или Yes(после установки пакета). Использовать прерывания! Но что-то не могу догадаться!

  • @EugeneNuke
    @EugeneNuke 8 лет назад +9

    Ну не ставят SUID на скрипты, только на бинарные файлы.

    • @YummyRed
      @YummyRed 6 лет назад +1

      Почему? Идейные соображения?

    • @vladimird5407
      @vladimird5407 3 года назад

      @@YummyRed просто не соаботает, бит сбросится после вызова интерпретатора

  • @qrthack3233
    @qrthack3233 5 лет назад

    zsh не нравится?

  • @sergiusvysokochtimiy
    @sergiusvysokochtimiy 8 лет назад

    bash ifscript1 - выполнит скрипт даже если нет прав для данного пользователя. Почему?

    • @KirillSemaev
      @KirillSemaev  8 лет назад

      +Sergius Vysokochtimiy скажите на какой минуте я это говорю, весь ролик смотреть времени нет, а о чем там я не помню

    • @sergiusvysokochtimiy
      @sergiusvysokochtimiy 8 лет назад +2

      +Kirill Semaev
      Про bash ifscript1 - в ролике этого нет, просто вопрос, почему?
      По ролику, вот эта фраза вводит в заблуждение:
      Цитата:
      09:36 - все пользователи будут запускать его с правами владельца, соответственно все смогут запускать этот скрипт.
      Вопрос: Какая связь между правами владельца и возможностью запустить скрипт? Если у других (others) нет права на запуск то SUID бит не поможет запустить скрипт.

    • @KirillSemaev
      @KirillSemaev  8 лет назад

      +Sergius Vysokochtimiy огромное спасибо за то что заметили, действительно говорю глупость. То ли на другие права смотрел, то ли просто помрачение рассудка( Правлю!

    • @EugeneNuke
      @EugeneNuke 8 лет назад +2

      Очевидно, потому, что у вас есть право запуска на bash и право чтения на скрипт. Запускается bash, читает скрипт, выполняет команды. +x на скрипт позволяет делать вам то же самое, но проще.

  • @agayevceyhun
    @agayevceyhun 7 лет назад +4

    Hi guys. Another way .. Kiril perfect course.
    echo "Are you hungry?";
    read VALUE
    if [[ "$VALUE" = "YES" ]] || [[ "$VALUE" = "NOT" ]];

  • @inna3710
    @inna3710 2 года назад

    смысл писать скрипты без знания команд? это нужно по ходу комментировать

  • @matrix-brz
    @matrix-brz 6 лет назад +1

    а где создание? есть создание файла который не работает. Хотел посмотреть как писать скрипты,а посмотрел на кривой код,который не понятно работает ли вообще. В черный список не до блогеров.

    • @pro100v6
      @pro100v6 6 лет назад +3

      зря вы так громко отзываетесь о авторе. Скрипт работает.
      Умеете лучше - тогда зачем сюда пришли?
      странный диванный воин.

    • @pro100v6
      @pro100v6 6 лет назад

      что вы понимаете под "созданием"?
      В Линунсе всё - файл. Создали файл, написали в нём код. сохранили. Это и есть скрипт.

    • @zmey239
      @zmey239 2 года назад +2

      @@pro100v6 , этот скрипт написан не правильно и работать не может!
      Вот рабочий пример того же скрипта:
      #!/bin/bash
      Examlpe() {
      echo "Хочешь стать программером?"
      read VALUE
      if [[ $VALUE == 'YES' ]];
      then
      echo "Тогда вали учить BASH!"
      else
      echo "Чёртов неуч! отвечай как положено!"
      Examlpe
      fi
      }
      echo "ИЗУЧАЕМ ЯЗЫК BASH:"
      Examlpe