Sponsored Content
Operating Systems OS X (Apple) Installing Dash Shell on OS X Lion Post 302607539 by Scrutinizer on Thursday 15th of March 2012 06:20:29 AM
Old 03-15-2012
Installing Dash Shell on OS X Lion

For those interested in installing dash shell on OSX Lion to help test POSIX compliancy of shell scripts, it is quite easy. I did it like this:

If you don't have gcc on your system:
0. Download and install the Command Line Tools for Xcode package from Sign In - Apple *

1. Download the dash tar ball (I used the latest version 0.5.7) here: Index of /~herbert/dash/files
2. gunzip and untar the tar ball
3. cd to the dash source directory
4. ./configure
5. make
6. sudo make install
7. add /usr/local/bin/dash to /etc/shells

S.

====
Update: On MacOS Catalina (10.15) and higher /bin/dash is installed automatically so there these actions are no longer necessary, unless you want to try out a more recent version..


---
* See also here: Xcode, GCC, and Homebrew, alternative package with gcc for OSX Lion at Kenneth Reitz' OSX GCC Installer page

Last edited by Scrutinizer; 10-25-2019 at 04:58 AM.. Reason: Thanks Scott..
These 5 Users Gave Thanks to Scrutinizer For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

double-dash options

I need to create a file that accepts arguments and options, and the options have to allow for single-dash options (-abc) and double-dash options (--help). What is the best way to do this? Getopt(s) is great for single-dash, but chokes on double-dash. Do I really need to save the arguments to a... (1 Reply)
Discussion started by: dhinge
1 Replies

2. UNIX for Dummies Questions & Answers

dash after ampersant

Hi! I'm new in these forums and more or less new with Unix. So... here is the question: does anyone know where is redirected the output of a command when you put >&- after it? Does it means any standard file descriptor? Thanks! (2 Replies)
Discussion started by: csecnarf
2 Replies

3. UNIX for Dummies Questions & Answers

ignoring a dash in file name

so i have a simple file called -x and i need it renamed to x now i dont understand why when using the most basic methods, only the code mv ./-x x changes the file name while using any other type of escape characters around the dash, such as single/double quotations or backslash, doesnt. ... (5 Replies)
Discussion started by: LumpSum
5 Replies

4. Shell Programming and Scripting

remove dash

hi I am using ksh #A="abc-def" #typeset -u B="$A" #echo $B ABC-DEF how to remove the dash? i.e. ABCDEF? thank you (1 Reply)
Discussion started by: melanie_pfefer
1 Replies

5. BSD

Default I need help installing a Shell CenteriM

Hello, first of all, my name is Christian and I hope you are very welcome. Well, my problem is that I would install the instant messaging client CenterIM in my shell, but it commands me or anything. Your operating system is FreeBSD. Thanks. (0 Replies)
Discussion started by: LzbeL
0 Replies

6. OS X (Apple)

Video Contact Sheet on Lion from movies downloaded youtube MP4

Hi I am running Lion with latest patches > uname -a Darwin wger.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64 Installed mplayer, ffmpeg, gnu-getopt and ImageMagick through brew. I am unable to generate Video Contact... (0 Replies)
Discussion started by: slashdotweenie
0 Replies

7. OS X (Apple)

Upgrade to Lion (Version 10.7.3) for MacBook Air

Anyone running Lion on their Mac? I'm currently running Snow Leopard (v. 10.6.8) and have been hesitant to upgrade to 10.7.X. Anyone at all running Lion? Any experiences good or bad to report? Thanks! (7 Replies)
Discussion started by: Neo
7 Replies

8. Shell Programming and Scripting

Exclude dash in grep

Hi, I must be overlooking something, but I don't understand why this doesn't work. I'm trying to grep on a date, excluding all the lines starting with a dash: testfile: #2013-12-31 2013-12-31code: grep '^2013-12-31' testfileI'm expecting to see just the second line '2013-12-31' but I don't... (3 Replies)
Discussion started by: Subbeh
3 Replies

9. Shell Programming and Scripting

A dash to GOTO or a dash from GOTO, that is the question...

Well, guys I saw a question about GOTO for Python. So this gave me the inspiration to attempt a GOTO function for 'dash', (bash and ksh too). Machine: MBP OSX 10.14.3, default bash terminal, calling '#!/usr/local/bin/dash'... This is purely a fun project to see if it is possible in PURE... (3 Replies)
Discussion started by: wisecracker
3 Replies

10. OS X (Apple)

Generate a random number in a fully POSIX compliant shell, 'dash'...

Hi all... Apologies for any typos, etc... This took a while but it didn't beat me... Although there are many methods of generating random numbers in a POSIX shell this uses integer maths and a simple C source to create an executable to get epoch to microseconds accuracy if it is needed. I take... (8 Replies)
Discussion started by: wisecracker
8 Replies
Mojo::URL(3pm)						User Contributed Perl Documentation					    Mojo::URL(3pm)

NAME
Mojo::URL - Uniform Resource Locator SYNOPSIS
use Mojo::URL; # Parse my $url = Mojo::URL->new('http://sri:foobar@kraih.com:3000/foo/bar?foo=bar#23'); say $url->scheme; say $url->userinfo; say $url->host; say $url->port; say $url->path; say $url->query; say $url->fragment; # Build my $url = Mojo::URL->new; $url->scheme('http'); $url->userinfo('sri:foobar'); $url->host('kraih.com'); $url->port(3000); $url->path('/foo/bar'); $url->path('baz'); $url->query->param(foo => 'bar'); $url->fragment(23); say $url; DESCRIPTION
Mojo::URL implements a subset of RFC 3986 and RFC 3987 for Uniform Resource Locators with support for IDNA and IRIs. ATTRIBUTES
Mojo::URL implements the following attributes. "authority" my $authority = $url->authority; $url = $url->authority('root:pass%3Bw0rd@localhost:8080'); Authority part of this URL. "base" my $base = $url->base; $url = $url->base(Mojo::URL->new); Base of this URL. "fragment" my $fragment = $url->fragment; $url = $url->fragment('foo'); Fragment part of this URL. "host" my $host = $url->host; $url = $url->host('127.0.0.1'); Host part of this URL. "port" my $port = $url->port; $url = $url->port(8080); Port part of this URL. "scheme" my $scheme = $url->scheme; $url = $url->scheme('http'); Scheme part of this URL. "userinfo" my $userinfo = $url->userinfo; $url = $url->userinfo('root:pass%3Bw0rd'); Userinfo part of this URL. METHODS
Mojo::URL inherits all methods from Mojo::Base and implements the following new ones. "new" my $url = Mojo::URL->new; my $url = Mojo::URL->new('http://127.0.0.1:3000/foo?f=b&baz=2#foo'); Construct a new Mojo::URL object. "clone" my $url2 = $url->clone; Clone this URL. "ihost" my $ihost = $url->ihost; $url = $url->ihost('xn--bcher-kva.ch'); Host part of this URL in punycode format. # "xn--da5b0n.net" Mojo::URL->new('http://X.net')->ihost; "is_abs" my $success = $url->is_abs; Check if URL is absolute. "parse" $url = $url->parse('http://127.0.0.1:3000/foo/bar?fo=o&baz=23#foo'); Parse URL. "path" my $path = $url->path; $url = $url->path('/foo/bar'); $url = $url->path('foo/bar'); $url = $url->path(Mojo::Path->new); Path part of this URL, relative paths will be appended to the existing path, defaults to a Mojo::Path object. # "http://mojolicio.us/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo')->path('/DOM/HTML'); # "http://mojolicio.us/perldoc/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo')->path('DOM/HTML'); # "http://mojolicio.us/perldoc/Mojo/DOM/HTML" Mojo::URL->new('http://mojolicio.us/perldoc/Mojo/')->path('DOM/HTML'); "query" my $query = $url->query; $url = $url->query(replace => 'with'); $url = $url->query([merge => 'with']); $url = $url->query({append => 'to'}); $url = $url->query(Mojo::Parameters->new); Query part of this URL, defaults to a Mojo::Parameters object. # "2" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query->param('b'); # "http://mojolicio.us?a=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query(a => 2, c => 3); # "http://mojolicio.us?a=2&b=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query([a => 2, c => 3]); # "http://mojolicio.us?b=2" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query([a => undef]); # "http://mojolicio.us?a=1&b=2&a=2&c=3" Mojo::URL->new('http://mojolicio.us?a=1&b=2')->query({a => 2, c => 3}); "to_abs" my $abs = $url->to_abs; my $abs = $url->to_abs(Mojo::URL->new('http://kraih.com/foo')); Clone relative URL and turn it into an absolute one. "to_rel" my $rel = $url->to_rel; my $rel = $url->to_rel(Mojo::URL->new('http://kraih.com/foo')); Clone absolute URL and turn it into a relative one. "to_string" my $string = $url->to_string; Turn URL into a string. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::URL(3pm)
All times are GMT -4. The time now is 10:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy