15

enter image description here

I would like to know if there is a way for find the shell Dash version.

I tried several commands like : dash -v, dash -V, dash --version, but no one works.

Dash Shell Wikipedia : http://en.wikipedia.org/wiki/Debian_Almquist_shell

2 Answers 2

15

There are plenty of ways:

  • apt-cache policy

    Run the following command:

    apt-cache policy dash
    

    On my machine the output is:

    dash:
    Installed: 0.5.7-3ubuntu1
    Candidate: 0.5.7-3ubuntu1
    Version table:
    *** 0.5.7-3ubuntu1 0
        500 http://in.archive.ubuntu.com/ubuntu/ quantal/main amd64 Packages
        100 /var/lib/dpkg/status
    

    The version of dash, therefore, installed on my system is 0.5.7.

  • dpkg -s

    Run the following command:

    dpkg -s dash
    

    The output on my machine is:

    Package: dash
    Essential: yes
    Status: install ok installed
    Priority: required
    Section: shells
    Installed-Size: 213
    Maintainer: Ubuntu Developers 
    Architecture: amd64
    Version: 0.5.7-3ubuntu1
    Depends: debianutils (>= 2.15), dpkg (>= 1.15.0)
    Pre-Depends: libc6 (>= 2.14)
    Description: POSIX-compliant shell
    The Debian Almquist Shell (dash) is a POSIX-compliant shell derived
    from ash.
    .
    Since it executes scripts faster than bash, and has fewer library
    dependencies (making it more robust against software or hardware
    failures), it is used as the default system shell on Debian systems.
    Homepage: http://gondor.apana.org.au/~herbert/dash/
    Original-Maintainer: Gerrit Pape 
    

    As you can see, the version is: 0.5.7.


Understanding Versioning Conventions

The versioning in Ubuntu is of the form:

<upstream_version>-<debian_revision>ubuntu<ubuntu_revision>

Here:

  • <upstream_version>: is the version of the original package

    This is the main part of the version number. It is usually the version number of the original ("upstream") package from which the .deb file has been made, if this is applicable.

    Usually this will be in the same format as that specified by the upstream author(s); however, it may need to be reformatted to fit into the package management system's format and comparison scheme.

  • <debian_revision>: is the debian version of the package.

    This part of the version number specifies the version of the Debian package based on the upstream version.

    If <debian_revision> = 0, then this means that there is no debian package (or that the ubuntu team has forked a debian package to a newer version than the one found in the debian repositories).

  • ubuntu: just the keyword ubuntu.

  • <ubuntu_revision>: is the ubuntu version of the package.

    • If this is missing this mean that it is a clean, unchanged debian package.
    • If this is present it means that Ubuntu has taken the debian package and released it with some additional patches or bug fixes.

Let's take an example.

  • 2.6.0-1ubuntu1

    Here,

    • Upstream Package Version: 2.6.0
    • Debian Revision: 1
    • Ubuntu Revision: 1
  • 2.6.0-0ubuntu1

    Here,

    • Upstream Package Version: 2.6.0
    • Debian Revision: 0 (which means no revisions)
    • Ubuntu Revision: 1

Sources and Further Information:

3
  • 1
    Thanks for all these informations. But for example, it work for get the version of the dash shell. But if i use the same commands for try on bash shell, the version returned is : 4.2-5ubuntu1 (dkpg and apt-cache). On other way if i use the command bash -version, the result is 4.2.37(1). So what do you think about it ?? Why these differences ? ty
    – PierreP
    Apr 21, 2013 at 12:16
  • These are not different. dpkg and apt-cache tell the version of bash as 4.2, where as bash --version tells it as 4.2.37. In effect, bash --version tells you all the revisions, whereas dpkg and apt-cache just tell you the major versions, omitting the minor versioning. Think of it as rounding off. You can round off 1.231 to 1.23, and you'd still be somewhat correct.
    – green
    Apr 21, 2013 at 13:04
  • ok so i can close this topic :) TY !
    – PierreP
    Apr 21, 2013 at 16:30
-3

Have you tried: man dash?

Often the full optionnames require two dashes, try dash --version. I don't use it, so I don't know if it will work.

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .