Passing args from the bash script to the function in the script Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar Manara 2019 Community Moderator Election Results Why I closed the “Why is Kali so hard” questionAre there naming conventions for variables in shell scripts?When is double-quoting necessary?How can we run a command stored in a variable?Passing a stream to a bash functionPassing script string to ssh from within a bash script function - variable evaluation problembash script - loop functionShell script - command always display usage before executingrsync using function argsBash script inheritance? Calling a function from another script?Passing options/args/parameters with spaces from the script to a function withinPassing a boolean flag to a function?Dynamically read bash function name from inside bash functionrunning bash script from cron job not working properly

Is it acceptable to use working hours to read general interest books?

Raising a bilingual kid. When should we introduce the majority language?

What is the ongoing value of the Kanban board to the developers as opposed to management

What is a 'Key' in computer science?

Seek and ye shall find

As an international instructor, should I openly talk about my accent?

Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?

Check if a string is entirely made of the same substring

Retract an already submitted recommendation letter (written for an undergrad student)

PIC mathematical operations weird problem

Error: Syntax error. Missing ')' for CASE Statement

Will I lose my paid in full property

Map material from china not allowed to leave the country

What is ls Largest Number Formed by only moving two sticks in 508?

All ASCII characters with a given bit count

What is the least dense liquid under normal conditions?

How to not starve gigantic beasts

How would I use different systems of magic when they are capable of the same effects?

Passing args from the bash script to the function in the script

Economise space with floats

How to use @AuraEnabled base class method in Lightning Component?

What was Apollo 13's "Little Jolt" after MECO?

My bank got bought out, am I now going to have to start filing tax returns in a different state?

Does Feeblemind produce an ongoing magical effect that can be dispelled?



Passing args from the bash script to the function in the script



Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manara
2019 Community Moderator Election Results
Why I closed the “Why is Kali so hard” questionAre there naming conventions for variables in shell scripts?When is double-quoting necessary?How can we run a command stored in a variable?Passing a stream to a bash functionPassing script string to ssh from within a bash script function - variable evaluation problembash script - loop functionShell script - command always display usage before executingrsync using function argsBash script inheritance? Calling a function from another script?Passing options/args/parameters with spaces from the script to a function withinPassing a boolean flag to a function?Dynamically read bash function name from inside bash functionrunning bash script from cron job not working properly



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















My script:



#! /bin/bash --

set -x

## docker-compose wrapper
compose_fn()
local ENV="$1"
local VERB="$2"
local SERVICE="$3"
local CMD="docker-compose -f $ENV.yml"
case "$VERB" in
(exec)
shift "$#" # remove args passed to this fn
# Execute a command in a running container.
if [ -n "$SERVICE" ]; then
$CMD "$VERB" "$SERVICE" "$@"
else
echo "## Err: You must specify service name..."
exit 1
fi
;;
esac


compose_fn "$1" "$2" "$3"


Is giving me a hard time with the following error:



$ ./tst.sh dev exec django sh
+ compose_fn dev exec django
+ local ENV=dev
+ local VERB=exec
+ local SERVICE=django
+ local 'CMD=docker-compose -f dev.yml'
+ case "$VERB" in
+ shift 3
+ '[' -n django ']'
+ docker-compose -f dev.yml exec django
Execute a command in a running container

Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]

Options:
....


Where is my mistake? How can it be done better?



As far as I can tell I've passed 4 args [dev, exec, django, sh] to the script, then within the script removed 3 (shift 3), therefore sh should have been left in the $@ var.










share|improve this question






























    1















    My script:



    #! /bin/bash --

    set -x

    ## docker-compose wrapper
    compose_fn()
    local ENV="$1"
    local VERB="$2"
    local SERVICE="$3"
    local CMD="docker-compose -f $ENV.yml"
    case "$VERB" in
    (exec)
    shift "$#" # remove args passed to this fn
    # Execute a command in a running container.
    if [ -n "$SERVICE" ]; then
    $CMD "$VERB" "$SERVICE" "$@"
    else
    echo "## Err: You must specify service name..."
    exit 1
    fi
    ;;
    esac


    compose_fn "$1" "$2" "$3"


    Is giving me a hard time with the following error:



    $ ./tst.sh dev exec django sh
    + compose_fn dev exec django
    + local ENV=dev
    + local VERB=exec
    + local SERVICE=django
    + local 'CMD=docker-compose -f dev.yml'
    + case "$VERB" in
    + shift 3
    + '[' -n django ']'
    + docker-compose -f dev.yml exec django
    Execute a command in a running container

    Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]

    Options:
    ....


    Where is my mistake? How can it be done better?



    As far as I can tell I've passed 4 args [dev, exec, django, sh] to the script, then within the script removed 3 (shift 3), therefore sh should have been left in the $@ var.










    share|improve this question


























      1












      1








      1








      My script:



      #! /bin/bash --

      set -x

      ## docker-compose wrapper
      compose_fn()
      local ENV="$1"
      local VERB="$2"
      local SERVICE="$3"
      local CMD="docker-compose -f $ENV.yml"
      case "$VERB" in
      (exec)
      shift "$#" # remove args passed to this fn
      # Execute a command in a running container.
      if [ -n "$SERVICE" ]; then
      $CMD "$VERB" "$SERVICE" "$@"
      else
      echo "## Err: You must specify service name..."
      exit 1
      fi
      ;;
      esac


      compose_fn "$1" "$2" "$3"


      Is giving me a hard time with the following error:



      $ ./tst.sh dev exec django sh
      + compose_fn dev exec django
      + local ENV=dev
      + local VERB=exec
      + local SERVICE=django
      + local 'CMD=docker-compose -f dev.yml'
      + case "$VERB" in
      + shift 3
      + '[' -n django ']'
      + docker-compose -f dev.yml exec django
      Execute a command in a running container

      Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]

      Options:
      ....


      Where is my mistake? How can it be done better?



      As far as I can tell I've passed 4 args [dev, exec, django, sh] to the script, then within the script removed 3 (shift 3), therefore sh should have been left in the $@ var.










      share|improve this question
















      My script:



      #! /bin/bash --

      set -x

      ## docker-compose wrapper
      compose_fn()
      local ENV="$1"
      local VERB="$2"
      local SERVICE="$3"
      local CMD="docker-compose -f $ENV.yml"
      case "$VERB" in
      (exec)
      shift "$#" # remove args passed to this fn
      # Execute a command in a running container.
      if [ -n "$SERVICE" ]; then
      $CMD "$VERB" "$SERVICE" "$@"
      else
      echo "## Err: You must specify service name..."
      exit 1
      fi
      ;;
      esac


      compose_fn "$1" "$2" "$3"


      Is giving me a hard time with the following error:



      $ ./tst.sh dev exec django sh
      + compose_fn dev exec django
      + local ENV=dev
      + local VERB=exec
      + local SERVICE=django
      + local 'CMD=docker-compose -f dev.yml'
      + case "$VERB" in
      + shift 3
      + '[' -n django ']'
      + docker-compose -f dev.yml exec django
      Execute a command in a running container

      Usage: exec [options] [-e KEY=VAL...] SERVICE COMMAND [ARGS...]

      Options:
      ....


      Where is my mistake? How can it be done better?



      As far as I can tell I've passed 4 args [dev, exec, django, sh] to the script, then within the script removed 3 (shift 3), therefore sh should have been left in the $@ var.







      bash shell-script shell






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 hours ago







      NarūnasK

















      asked 2 hours ago









      NarūnasKNarūnasK

      9171722




      9171722




















          1 Answer
          1






          active

          oldest

          votes


















          4














          With shift $# you empty $@ completely. The $@ in the function is separate from the $@ in the main script. Why don't you just pass all arguments to the function and then shift off the first three?



          #! /bin/bash --

          set -x

          ## docker-compose wrapper
          compose_fn()
          local env="$1"
          local verb="$2"
          local service="$3"

          local cmd=( docker-compose -f "$env.yml" )

          shift 3 # we've now used up three arguments

          case $verb in
          exec)
          # Execute a command in a running container.
          if [ -n "$service" ]; then
          "$cmd[@]" "$verb" "$service" "$@"
          else
          echo '## Err: You must specify service name...' >&2
          exit 1
          fi
          ;;
          *)
          printf 'Unknown verb: %sn' "$verb" >&2
          exit 1
          esac


          compose_fn "$@"


          I've also used lower-case variable names so that no system or special shell variables are used by accident (ENV is one that some shell uses under some circumstances, for example), and I've removed all unneeded quotes and curly braces.



          I've also put the command into an array, so that we can quote the YAML filename properly.



          You could also just move the setting of the three variables outside of the function, depending on what the rest of the script looks like and if this makes any sense at all. The three variables would then be global in the script.



          #! /bin/bash --

          set -x

          ## docker-compose wrapper
          compose_fn()
          local cmd=( docker-compose -f "$env.yml" )

          case $verb in
          exec)
          # Execute a command in a running container.
          if [ -n "$service" ]; then
          "$cmd[@]" "$verb" "$service" "$@"
          else
          echo '## Err: You must specify service name...' >&2
          exit 1
          fi
          ;;
          *)
          printf 'Unknown verb: %sn' "$verb" >&2
          exit 1
          esac


          env="$1"
          verb="$2"
          service="$3"

          shift 3

          compose_fn "$@"


          You may also bypass the [ -n "$service" ] test with



          service=$3:?'## Err: You must specify service name...'


          The parameter expansion $parameter:?word will exit the shell with the message defined by word if parameter is unset or empty. The bash shell would format this as



          script.sh: line 9: 3: ## Err: You must specify service name...


          Related:



          • When is double-quoting necessary?

          • How can we run a command stored in a variable?

          • Are there naming conventions for variables in shell scripts?





          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f515342%2fpassing-args-from-the-bash-script-to-the-function-in-the-script%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            With shift $# you empty $@ completely. The $@ in the function is separate from the $@ in the main script. Why don't you just pass all arguments to the function and then shift off the first three?



            #! /bin/bash --

            set -x

            ## docker-compose wrapper
            compose_fn()
            local env="$1"
            local verb="$2"
            local service="$3"

            local cmd=( docker-compose -f "$env.yml" )

            shift 3 # we've now used up three arguments

            case $verb in
            exec)
            # Execute a command in a running container.
            if [ -n "$service" ]; then
            "$cmd[@]" "$verb" "$service" "$@"
            else
            echo '## Err: You must specify service name...' >&2
            exit 1
            fi
            ;;
            *)
            printf 'Unknown verb: %sn' "$verb" >&2
            exit 1
            esac


            compose_fn "$@"


            I've also used lower-case variable names so that no system or special shell variables are used by accident (ENV is one that some shell uses under some circumstances, for example), and I've removed all unneeded quotes and curly braces.



            I've also put the command into an array, so that we can quote the YAML filename properly.



            You could also just move the setting of the three variables outside of the function, depending on what the rest of the script looks like and if this makes any sense at all. The three variables would then be global in the script.



            #! /bin/bash --

            set -x

            ## docker-compose wrapper
            compose_fn()
            local cmd=( docker-compose -f "$env.yml" )

            case $verb in
            exec)
            # Execute a command in a running container.
            if [ -n "$service" ]; then
            "$cmd[@]" "$verb" "$service" "$@"
            else
            echo '## Err: You must specify service name...' >&2
            exit 1
            fi
            ;;
            *)
            printf 'Unknown verb: %sn' "$verb" >&2
            exit 1
            esac


            env="$1"
            verb="$2"
            service="$3"

            shift 3

            compose_fn "$@"


            You may also bypass the [ -n "$service" ] test with



            service=$3:?'## Err: You must specify service name...'


            The parameter expansion $parameter:?word will exit the shell with the message defined by word if parameter is unset or empty. The bash shell would format this as



            script.sh: line 9: 3: ## Err: You must specify service name...


            Related:



            • When is double-quoting necessary?

            • How can we run a command stored in a variable?

            • Are there naming conventions for variables in shell scripts?





            share|improve this answer





























              4














              With shift $# you empty $@ completely. The $@ in the function is separate from the $@ in the main script. Why don't you just pass all arguments to the function and then shift off the first three?



              #! /bin/bash --

              set -x

              ## docker-compose wrapper
              compose_fn()
              local env="$1"
              local verb="$2"
              local service="$3"

              local cmd=( docker-compose -f "$env.yml" )

              shift 3 # we've now used up three arguments

              case $verb in
              exec)
              # Execute a command in a running container.
              if [ -n "$service" ]; then
              "$cmd[@]" "$verb" "$service" "$@"
              else
              echo '## Err: You must specify service name...' >&2
              exit 1
              fi
              ;;
              *)
              printf 'Unknown verb: %sn' "$verb" >&2
              exit 1
              esac


              compose_fn "$@"


              I've also used lower-case variable names so that no system or special shell variables are used by accident (ENV is one that some shell uses under some circumstances, for example), and I've removed all unneeded quotes and curly braces.



              I've also put the command into an array, so that we can quote the YAML filename properly.



              You could also just move the setting of the three variables outside of the function, depending on what the rest of the script looks like and if this makes any sense at all. The three variables would then be global in the script.



              #! /bin/bash --

              set -x

              ## docker-compose wrapper
              compose_fn()
              local cmd=( docker-compose -f "$env.yml" )

              case $verb in
              exec)
              # Execute a command in a running container.
              if [ -n "$service" ]; then
              "$cmd[@]" "$verb" "$service" "$@"
              else
              echo '## Err: You must specify service name...' >&2
              exit 1
              fi
              ;;
              *)
              printf 'Unknown verb: %sn' "$verb" >&2
              exit 1
              esac


              env="$1"
              verb="$2"
              service="$3"

              shift 3

              compose_fn "$@"


              You may also bypass the [ -n "$service" ] test with



              service=$3:?'## Err: You must specify service name...'


              The parameter expansion $parameter:?word will exit the shell with the message defined by word if parameter is unset or empty. The bash shell would format this as



              script.sh: line 9: 3: ## Err: You must specify service name...


              Related:



              • When is double-quoting necessary?

              • How can we run a command stored in a variable?

              • Are there naming conventions for variables in shell scripts?





              share|improve this answer



























                4












                4








                4







                With shift $# you empty $@ completely. The $@ in the function is separate from the $@ in the main script. Why don't you just pass all arguments to the function and then shift off the first three?



                #! /bin/bash --

                set -x

                ## docker-compose wrapper
                compose_fn()
                local env="$1"
                local verb="$2"
                local service="$3"

                local cmd=( docker-compose -f "$env.yml" )

                shift 3 # we've now used up three arguments

                case $verb in
                exec)
                # Execute a command in a running container.
                if [ -n "$service" ]; then
                "$cmd[@]" "$verb" "$service" "$@"
                else
                echo '## Err: You must specify service name...' >&2
                exit 1
                fi
                ;;
                *)
                printf 'Unknown verb: %sn' "$verb" >&2
                exit 1
                esac


                compose_fn "$@"


                I've also used lower-case variable names so that no system or special shell variables are used by accident (ENV is one that some shell uses under some circumstances, for example), and I've removed all unneeded quotes and curly braces.



                I've also put the command into an array, so that we can quote the YAML filename properly.



                You could also just move the setting of the three variables outside of the function, depending on what the rest of the script looks like and if this makes any sense at all. The three variables would then be global in the script.



                #! /bin/bash --

                set -x

                ## docker-compose wrapper
                compose_fn()
                local cmd=( docker-compose -f "$env.yml" )

                case $verb in
                exec)
                # Execute a command in a running container.
                if [ -n "$service" ]; then
                "$cmd[@]" "$verb" "$service" "$@"
                else
                echo '## Err: You must specify service name...' >&2
                exit 1
                fi
                ;;
                *)
                printf 'Unknown verb: %sn' "$verb" >&2
                exit 1
                esac


                env="$1"
                verb="$2"
                service="$3"

                shift 3

                compose_fn "$@"


                You may also bypass the [ -n "$service" ] test with



                service=$3:?'## Err: You must specify service name...'


                The parameter expansion $parameter:?word will exit the shell with the message defined by word if parameter is unset or empty. The bash shell would format this as



                script.sh: line 9: 3: ## Err: You must specify service name...


                Related:



                • When is double-quoting necessary?

                • How can we run a command stored in a variable?

                • Are there naming conventions for variables in shell scripts?





                share|improve this answer















                With shift $# you empty $@ completely. The $@ in the function is separate from the $@ in the main script. Why don't you just pass all arguments to the function and then shift off the first three?



                #! /bin/bash --

                set -x

                ## docker-compose wrapper
                compose_fn()
                local env="$1"
                local verb="$2"
                local service="$3"

                local cmd=( docker-compose -f "$env.yml" )

                shift 3 # we've now used up three arguments

                case $verb in
                exec)
                # Execute a command in a running container.
                if [ -n "$service" ]; then
                "$cmd[@]" "$verb" "$service" "$@"
                else
                echo '## Err: You must specify service name...' >&2
                exit 1
                fi
                ;;
                *)
                printf 'Unknown verb: %sn' "$verb" >&2
                exit 1
                esac


                compose_fn "$@"


                I've also used lower-case variable names so that no system or special shell variables are used by accident (ENV is one that some shell uses under some circumstances, for example), and I've removed all unneeded quotes and curly braces.



                I've also put the command into an array, so that we can quote the YAML filename properly.



                You could also just move the setting of the three variables outside of the function, depending on what the rest of the script looks like and if this makes any sense at all. The three variables would then be global in the script.



                #! /bin/bash --

                set -x

                ## docker-compose wrapper
                compose_fn()
                local cmd=( docker-compose -f "$env.yml" )

                case $verb in
                exec)
                # Execute a command in a running container.
                if [ -n "$service" ]; then
                "$cmd[@]" "$verb" "$service" "$@"
                else
                echo '## Err: You must specify service name...' >&2
                exit 1
                fi
                ;;
                *)
                printf 'Unknown verb: %sn' "$verb" >&2
                exit 1
                esac


                env="$1"
                verb="$2"
                service="$3"

                shift 3

                compose_fn "$@"


                You may also bypass the [ -n "$service" ] test with



                service=$3:?'## Err: You must specify service name...'


                The parameter expansion $parameter:?word will exit the shell with the message defined by word if parameter is unset or empty. The bash shell would format this as



                script.sh: line 9: 3: ## Err: You must specify service name...


                Related:



                • When is double-quoting necessary?

                • How can we run a command stored in a variable?

                • Are there naming conventions for variables in shell scripts?






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 2 hours ago

























                answered 2 hours ago









                KusalanandaKusalananda

                143k18267445




                143k18267445



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f515342%2fpassing-args-from-the-bash-script-to-the-function-in-the-script%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    На ростанях Змест Гісторыя напісання | Месца дзеяння | Час дзеяння | Назва | Праблематыка трылогіі | Аўтабіяграфічнасць | Трылогія ў тэатры і кіно | Пераклады | У культуры | Зноскі Літаратура | Спасылкі | НавігацыяДагледжаная версіяправерана1 зменаДагледжаная версіяправерана1 зменаАкадэмік МІЦКЕВІЧ Канстанцін Міхайлавіч (Якуб Колас) Прадмова М. І. Мушынскага, доктара філалагічных навук, члена-карэспандэнта Нацыянальнай акадэміі навук Рэспублікі Беларусь, прафесараНашаніўцы ў трылогіі Якуба Коласа «На ростанях»: вобразы і прататыпы125 лет Янке МавруКнижно-документальная выставка к 125-летию со дня рождения Якуба Коласа (1882—1956)Колас Якуб. Новая зямля (паэма), На ростанях (трылогія). Сулкоўскі Уладзімір. Радзіма Якуба Коласа (серыял жывапісных палотнаў)Вокладка кнігіІлюстрацыя М. С. БасалыгіНа ростаняхАўдыёверсія трылогііВ. Жолтак У Люсiнскай школе 1959

                    Францішак Багушэвіч Змест Сям'я | Біяграфія | Творчасць | Мова Багушэвіча | Ацэнкі дзейнасці | Цікавыя факты | Спадчына | Выбраная бібліяграфія | Ушанаванне памяці | У філатэліі | Зноскі | Літаратура | Спасылкі | НавігацыяЛяхоўскі У. Рупіўся дзеля Бога і людзей: Жыццёвы шлях Лявона Вітан-Дубейкаўскага // Вольскі і Памідораў з песняй пра немца Адвакат, паэт, народны заступнік Ашмянскі веснікВ Минске появится площадь Богушевича и улица Сырокомли, Белорусская деловая газета, 19 июля 2001 г.Айцец беларускай нацыянальнай ідэі паўстаў у бронзе Сяргей Аляксандравіч Адашкевіч (1918, Мінск). 80-я гады. Бюст «Францішак Багушэвіч».Яўген Мікалаевіч Ціхановіч. «Партрэт Францішка Багушэвіча»Мікола Мікалаевіч Купава. «Партрэт зачынальніка новай беларускай літаратуры Францішка Багушэвіча»Уладзімір Іванавіч Мелехаў. На помніку «Змагарам за родную мову» Барэльеф «Францішак Багушэвіч»Памяць пра Багушэвіча на Віленшчыне Страчаная сталіца. Беларускія шыльды на вуліцах Вільні«Krynica». Ideologia i przywódcy białoruskiego katolicyzmuФранцішак БагушэвічТворы на knihi.comТворы Францішка Багушэвіча на bellib.byСодаль Уладзімір. Францішак Багушэвіч на Лідчыне;Луцкевіч Антон. Жыцьцё і творчасьць Фр. Багушэвіча ў успамінах ягоных сучасьнікаў // Запісы Беларускага Навуковага таварыства. Вільня, 1938. Сшытак 1. С. 16-34.Большая российская1188761710000 0000 5537 633Xn9209310021619551927869394п

                    Беларусь Змест Назва Гісторыя Геаграфія Сімволіка Дзяржаўны лад Палітычныя партыі Міжнароднае становішча і знешняя палітыка Адміністрацыйны падзел Насельніцтва Эканоміка Культура і грамадства Сацыяльная сфера Узброеныя сілы Заўвагі Літаратура Спасылкі НавігацыяHGЯOiТоп-2011 г. (па версіі ej.by)Топ-2013 г. (па версіі ej.by)Топ-2016 г. (па версіі ej.by)Топ-2017 г. (па версіі ej.by)Нацыянальны статыстычны камітэт Рэспублікі БеларусьШчыльнасць насельніцтва па краінахhttp://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/А. Калечыц, У. Ксяндзоў. Спробы засялення краю неандэртальскім чалавекам.І ў Менску былі мамантыА. Калечыц, У. Ксяндзоў. Старажытны каменны век (палеаліт). Першапачатковае засяленне тэрыторыіГ. Штыхаў. Балты і славяне ў VI—VIII стст.М. Клімаў. Полацкае княства ў IX—XI стст.Г. Штыхаў, В. Ляўко. Палітычная гісторыя Полацкай зямліГ. Штыхаў. Дзяржаўны лад у землях-княствахГ. Штыхаў. Дзяржаўны лад у землях-княствахБеларускія землі ў складзе Вялікага Княства ЛітоўскагаЛюблінская унія 1569 г."The Early Stages of Independence"Zapomniane prawdy25 гадоў таму было аб'яўлена, што Язэп Пілсудскі — беларус (фота)Наша вадаДакументы ЧАЭС: Забруджванне тэрыторыі Беларусі « ЧАЭС Зона адчужэнняСведения о политических партиях, зарегистрированных в Республике Беларусь // Министерство юстиции Республики БеларусьСтатыстычны бюлетэнь „Полаўзроставая структура насельніцтва Рэспублікі Беларусь на 1 студзеня 2012 года і сярэднегадовая колькасць насельніцтва за 2011 год“Индекс человеческого развития Беларуси — не было бы нижеБеларусь занимает первое место в СНГ по индексу развития с учетом гендерного факцёраНацыянальны статыстычны камітэт Рэспублікі БеларусьКанстытуцыя РБ. Артыкул 17Трансфармацыйныя задачы БеларусіВыйсце з крызісу — далейшае рэфармаванне Беларускі рубель — сусветны лідар па дэвальвацыяхПра змену коштаў у кастрычніку 2011 г.Бядней за беларусаў у СНД толькі таджыкіСярэдні заробак у верасні дасягнуў 2,26 мільёна рублёўЭканомікаГаласуем за ТОП-100 беларускай прозыСучасныя беларускія мастакіАрхитектура Беларуси BELARUS.BYА. Каханоўскі. Культура Беларусі ўсярэдзіне XVII—XVIII ст.Анталогія беларускай народнай песні, гуказапісы спеваўБеларускія Музычныя IнструментыБеларускі рок, які мы страцілі. Топ-10 гуртоў«Мясцовы час» — нязгаслая легенда беларускай рок-музыкіСЯРГЕЙ БУДКІН. МЫ НЯ ЗНАЕМ СВАЁЙ МУЗЫКІМ. А. Каладзінскі. НАРОДНЫ ТЭАТРМагнацкія культурныя цэнтрыПублічная дыскусія «Беларуская новая пьеса: без беларускай мовы ці беларуская?»Беларускія драматургі па-ранейшаму лепш ставяцца за мяжой, чым на радзіме«Працэс незалежнага кіно пайшоў, і дзяржаву турбуе яго непадкантрольнасць»Беларускія філосафы ў пошуках прасторыВсе идём в библиотекуАрхіваванаАб Нацыянальнай праграме даследавання і выкарыстання касмічнай прасторы ў мірных мэтах на 2008—2012 гадыУ космас — разам.У суседнім з Барысаўскім раёне пабудуюць Камандна-вымяральны пунктСвяты і абрады беларусаў«Мірныя бульбашы з малой краіны» — 5 непраўдзівых стэрэатыпаў пра БеларусьМ. Раманюк. Беларускае народнае адзеннеУ Беларусі скарачаецца колькасць злачынстваўЛукашэнка незадаволены мінскімі ўладамі Крадзяжы складаюць у Мінску каля 70% злачынстваў Узровень злачыннасці ў Мінскай вобласці — адзін з самых высокіх у краіне Генпракуратура аналізуе стан са злачыннасцю ў Беларусі па каэфіцыенце злачыннасці У Беларусі стабілізавалася крымінагеннае становішча, лічыць генпракурорЗамежнікі сталі здзяйсняць у Беларусі больш злачынстваўМУС Беларусі турбуе рост рэцыдыўнай злачыннасціЯ з ЖЭСа. Дазволіце вас абкрасці! Рэйтынг усіх службаў і падраздзяленняў ГУУС Мінгарвыканкама вырасАб КДБ РБГісторыя Аператыўна-аналітычнага цэнтра РБГісторыя ДКФРТаможняagentura.ruБеларусьBelarus.by — Афіцыйны сайт Рэспублікі БеларусьСайт урада БеларусіRadzima.org — Збор архітэктурных помнікаў, гісторыя Беларусі«Глобус Беларуси»Гербы и флаги БеларусиАсаблівасці каменнага веку на БеларусіА. Калечыц, У. Ксяндзоў. Старажытны каменны век (палеаліт). Першапачатковае засяленне тэрыторыіУ. Ксяндзоў. Сярэдні каменны век (мезаліт). Засяленне краю плямёнамі паляўнічых, рыбакоў і збіральнікаўА. Калечыц, М. Чарняўскі. Плямёны на тэрыторыі Беларусі ў новым каменным веку (неаліце)А. Калечыц, У. Ксяндзоў, М. Чарняўскі. Гаспадарчыя заняткі ў каменным векуЭ. Зайкоўскі. Духоўная культура ў каменным векуАсаблівасці бронзавага веку на БеларусіФарміраванне супольнасцей ранняга перыяду бронзавага векуФотографии БеларусиРоля беларускіх зямель ва ўтварэнні і ўмацаванні ВКЛВ. Фадзеева. З гісторыі развіцця беларускай народнай вышыўкіDMOZGran catalanaБольшая российскаяBritannica (анлайн)Швейцарскі гістарычны15325917611952699xDA123282154079143-90000 0001 2171 2080n9112870100577502ge128882171858027501086026362074122714179пппппп