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
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
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
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
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
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)
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)
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
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
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)
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
LEARN ABOUT DEBIAN
mojo::url
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)