Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2019, 20:16   #1
PUDGEPAPICH
Новичок
Джуниор
 
Регистрация: 13.01.2019
Сообщений: 1
По умолчанию Необходимо описать комментариями действия команд(Linux/Shell/Bash)

Необходимо описать комментариями действия команд.
Я здесь немного уже по набрасывал все что мог, но остальное уже не знаю и прошу помощи вашей. Особо интересует 21, 26, 36, 50 строки


Код:
#!/bin/bash
if [ "$#" -ne 0 ] 
###
#квадратные скобки проверяют выражение на истинность
 
then
  echo -e "\e[31mWrong number of parameters."
  #Возвращает true если (-e) файл существует; 
  #слэш(\)символ экранирует не экранируемое;
  #дефис(-)символ перенаправление.Например cd -
 
  echo -e "Type -help as first parameter to see possible inputs.\e[39m"
  #Возвращает true если (-e) файл существует;   
 
else
  if [ "$1" = "-h" ]   ######добавил правую квадратную скобку! 
  #левая квадратная скобка является синонимом команды test - проверка истинности;
  #Возвращает true если (-h) файл является символической ссылкой; 
 
 then
    echo -e "\e[34mAll users home folders by size:\e[39m"
    #Возвращает true если (-e) файл существует;
    #двоеточие(:)пустая команда(эквивалент операции NOP - no op,нет операции) может рассматриваться как синоним встроенной команды true
    #Команда ":" так же является встроенной командой Bash, которая всегда возвращает "true" (0). 
 
    eval "du -s /home/* | sort -h"
    #Возвращает true если (-s) нулевой размер файла;
    #Возвращает true если (-h) файл является символической ссылкой;
    #символ(*)звездочка служит шаблоном для подстановки в имена файлов(как команда ls);
    
    #конвейер(|). Передает вывод предыдущей команды на ввод следующей или на вход командного интерпретатора shell.
    #Этот метод часто используется для связывания последовательности команд в единую цепочку.
 
  else
 
    if [ "$1" = "-help" ] 
    #(=) Оператор присваивания
 
    then
      echo "1. Type -h as first parameter to show all users" 
      echo "home directories sorted by size."
      echo "2. Type catalogue path as first parameter to show"
      echo "all folders located inside sorted by size".
 
    else 
 
      echo -e "\e[34mSize of all catalogs located inside $1:\e[39m"
      #Возвращает true если (-e) файл существует;
 
      eval "du -s $1/* | sort -h"
    #Возвращает true если (-s) нулевой размер файла;
    #Возвращает true если (-h) файл является символической ссылкой;
 
    fi
  fi
fi
PUDGEPAPICH вне форума Ответить с цитированием
Старый 14.01.2019, 12:11   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Вы совсем неправильно написали.
Ключи -e -s -h применяются к конкретой команде и для каждой означают что-то своё.
Открываете man на нужную команду и там ищете.
Например, man echo
Цитата:
-e
включить интерпретацию управляющих символов
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Shell (Linux) AnnaVitalna Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 20.09.2015 10:25
Linux простые скрипты BASH Vasya25 Помощь студентам 2 15.06.2014 18:15
ПРОГРАММИРОВАНИЕ В BASH В СРЕДЕ LINUX Marinysik Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 0 27.02.2014 22:03
Программирование в BASH - SHELL Linux Necare Помощь студентам 1 02.04.2011 11:25