1. bash / Говнокод #12207

    −124

    1. 1
    2. 2
    3. 3
    4. 4
    #!/bin/sh
    
    for last ; do true ; done
    echo "last argument: $last"

    And you can't explain that.

    Оригинал: http://stackoverflow.com/questions/1853946/getting-the-last-argument-passed-to-a-shell-script

    Запостил: Elvenfighter, 27 Ноября 2012

    Комментарии (9) RSS

    • И "чо"? Все знают, что по умолчанию
      ... in "$@"
      .
      Ответить
      • А что такое "$@"?
        Ответить
        • Это символ доллара (валютная единица), за которым следует символ "собака" (друг человека).
          Ответить
          • $@...
            ДолларСобака...
            ДолларДругЧеловека??!!

            Доллар - друг человека!
            Ответить
        • Это электронный адрес американского монетного двора.
          Ответить
        • Я подозреваю что это список аргументов скрипта.
          Ответить
    • Ну, тогда предлагаю померяться:
      #!/usr/bin/env bash
      
      last_argument () {
          local first=$@
          shift
          local last=$1
          if [ -z "$last" ]; then
              echo "Lat argument is: $first"
          else
              last_argument $@
          fi
      }
      last_argument $@
      Ответить
      • На баше это совсем просто :D
        last="${@: -1}"
        Ответить
        • На баше это совсем просто :D
          echo 'last argument '${@:$#} или ${*:$#}, без разницы.
          Ответить

    Добавить комментарий