The Dash shell, a POSIX-compliant derivative of the Almquist shell used as /bin/sh in Debian, Ubuntu and other Linux distributions
3
votes
1answer
51 views
Dash exec redirection error
This:
set -x
rm -f p; mkfifo p
exec 99<>p
succeeds in bash but fails ("99 not found") in dash.
How do I get it to work in dash?
2
votes
2answers
60 views
DASH hexadecimal string comparison
I am attempting to compare two strings containing hexadecimal numbers in a dash test, one which has leading zeros and one which doesn't:
hex_string_1: 0x02a0000b
hex_string_2: 0x2a0000b
Trying if [ ...
0
votes
2answers
32 views
How to run sh without reading ~/.profile?
With bash, for example, one can pass the --norc --noprofile flags to prevent the reading of shell initialization files.
What's the equivalent for sh?
If there isn't one for sh, is there at least one ...
-1
votes
1answer
66 views
What is Dash(-) actually in unix or linux? [duplicate]
It's been While since i'm using dash(-) in unix command. But have never found out what exactly is this.
Have searched at some place it says . It mean stdin/stdout when used in end of command or like ...
3
votes
2answers
577 views
dash: parse string into two variables
I have a dash script, and I need to parse $1, which is a string containing two parts separated by ':', such as foo:123. I would like to to save foo in $X and 123 in $Y.
I thought I could use read:
$ ...
13
votes
6answers
515 views
/bin/dash: check whether $1 is a number
What would be the best way to check whether $1 is an integer in /bin/dash ?
In bash, I could do:
[[ $1 =~ ^([0-9]+)$ ]]
But that does not seem to be POSIX compliant and dash does not support that
2
votes
1answer
98 views
I have a multi-line string that I need to iterate over, but I'm not using bash. Advice?
I'm using Dash because this is to run on my rPi. Bash is not an option.
I'm rewriting a Bash script to work with Dash. I'm hoping to make it as POSIX-compliant (portable) as possible. The thing is ...
-1
votes
1answer
229 views
Some commands not working in bash script
I'm using Ubuntu 14.04.02 32bit.
On doing some shell programming, I found out that running the script through the sh command sometimes cause errors.
Is it because the sh command is invoking the ...
3
votes
1answer
62 views
Trailing colons and dash's builtin test command
What's the meaning of a trailing colon to dash's builtin test (or [) command? I was surprised when I found that if [ ... ]: ; then .. ; fi works (at all) in dash, but not bash, and it seems to be ...
3
votes
2answers
171 views
Why alias inside function does not work?
See the code below:
a()(alias x=echo\ hi;type x;alias;x);a
I have an alias inside a function, I do not want to change the external environment (that is why I am using () instead of {}), even the ...
2
votes
1answer
160 views
Avoid backslash expansion with echo in dash
First create a file with this exact content:
a\nb
I named this file foo, if I run the following, it prints the exact content of the file:
bash -c 'bar=$(cat foo);echo "$bar"'
But if you run it ...
1
vote
2answers
367 views
Replace user shell from dash to bash [duplicate]
Everytime I use my terminal, I am always put into the dash shell instead of bash. Is there any way to change this even just for my user only? Tried apt-alternatives but setting the default shell can't ...
5
votes
3answers
376 views
Dash equivalent of self-redirection of script output
In Bash you can redirect all future stdout output of the currently running script. For example with this script,
exec > >(logger -t my-awesome-script)
echo 1
echo 2
echo 3
This will end up in ...
0
votes
3answers
390 views
Can dash replace bash as my default shell?
From what I read, dash can be made as a shell by using the command
~$ chsh shirish
Password:
Changing the login shell for shirish
Enter the new value, or press ENTER for the default
Login Shell ...
1
vote
0answers
24 views
history - bash, dash, zsh and .profile [duplicate]
For a long time I have been wondering about the existence of many shells in GNU/Linux. To make the question a bit focused I have used only three shells - bash, dash and zsh.
From wikipedia articles ...
0
votes
1answer
382 views
Add autocompletion in dash
Is it possible to get at least "some" autocompletion in a dash shell like in bash?
At least for the existing filenames in a path.
2
votes
1answer
233 views
create a dash prompt
When I log in to my server which has dash as default shell, I get a prompt that looks like this:
\[\033[1;31m\]\u\[\033[0m\]@:\w #
How can I configure the server that it shows something like this?
...
22
votes
3answers
4k views
Is dash or some other shell “faster” than bash?
I always thought that the only benefit of using dash instead of bash was that dash was smaller, and therefore many instances of dash would start faster at boot time.
But I have done some research, ...
1
vote
1answer
1k views
'sh: 0: Can't open HoNClient-3.4.3.sh' when I try to run the HoNClient
I've been trying to install HoN on my laptop. It's running 32-bit Linux Mint 15. The problem I've run into is this: When I try to run the client in the terminal, using the command:
sudo sh ...
14
votes
1answer
548 views
3
votes
1answer
125 views
Where do I place commands to automatically be exported for all users?
I have an embedded platform running an Arago linux distribution. Right now the only "user" is root but there will eventually be others, but I don't know how many or what user IDs they will have.
...
0
votes
1answer
945 views
Can I use an if statement to detect if bash and dash are being run interactively? [duplicate]
After looking around for a while I've found several good pages describing how to check and see if a bash script is running interactively and there seem to be several methods, but one of them that I ...
50
votes
5answers
4k views
Why does no one use the true Bourne shell as /bin/sh?
I've noticed that basically no system I've ever worked with has /bin/sh as a real executable. It's always a symlink to dash, bash in POSIX mode, or something similar.
Why? What are the disadvantages ...
4
votes
3answers
264 views
/bin/dash syntax
I have following bash command
diff <(xzcat file1.xz) <(xzcat file2.xz)
and I need to execute it in dash. On my system (Debian Wheezy), dash is the default interpreter for cron (/bin/sh is a ...
1
vote
1answer
530 views
Can't access command history in my shell (sh)
I'm not sure if readline is what really missing but the problem is shell (instead of bash) and when I click the up and down arrow I get the following instead of command history:
$ ...
3
votes
4answers
9k views
How to know which is the default script shell in Centos?
I'm using Centos 6 and after reading about different shells and dash implementasion as sh replacement in Debian, Ubuntu and Fedora, made up my mind to replace sh with dash as the script shell in ...
2
votes
1answer
59 views
What is happening when a script encounters an error in one of the commands?
I used alien to convert an RPM to a .deb. I did NOT use alien's script conversion; I'm converting by hand. Indeed, the script did barf on some non-compatible syntax. My question is NOT about how to ...
3
votes
2answers
2k views
Calling bash from sh (dash) with commands read from args, and “Unterminated quoted string”/“unexpected EOF”
Just thought I'd document this: I'm trying something very simple - set env variable in bash, and print it out:
$ bash -c "a=1; echo a$a;"
a
$ bash -c "a=1; echo a\$a;"
a1
Now I'd want this same ...
0
votes
3answers
769 views
Proper place to put shell prompt(PS1) when use sh/bash/zsh together
I'm using dash(sh) or bash or zsh. If possible, I would prefer to put in common place.
I want to put proper PS1 settings when I interactive with shell, so these situation should be considered
login ...
0
votes
1answer
883 views
Login script for bash not loading
I am very confused about the login script for bash. I have always used ~/.bash_profile to configure my bash shell. Now I am on a new system just as a user: I am not root. This system was originally ...
4
votes
2answers
1k views
Get line number in a Bourne shell script
I'd like to be able to print the current line number in a shell script. I know about the $LINENO variable in Bash shells, but it doesn't seem to exist in Bourne shells. Is there any other variable ...
9
votes
1answer
2k views
Are dash, ash and sh script 100% compatible?
I wanted to know whether scripts written for dash, ash, and sh are 100% compatible?
Are there any added features to dash or ash, or syntax change?
From what I heard, ash is a direct descendant of ...
3
votes
2answers
2k views
When sh is a symlink to bash or dash, bash limits itself to POSIX-compliance, so it should be 100% compatible with sh?
From Difference between bash and sh:
ABck to the question: If you have /bin/sh as a link to bash, then bash will not behave the same when called as /bin/sh as it does when called as /bin/bash. ...
7
votes
1answer
3k views
A couple arithmetic related commands, Dash, POSIX shell, sh, Increment
When pre/post incrementing a variable, in POSIX Shell, what is the difference between these two examples. They seem like they would have the same consequences, but would they be used differently? ...
4
votes
1answer
816 views
In a script, check if standard input comes from a file or pipe
I know this has been poorly covered previously, but those answers either lack explanation or don't apply.
Basically at some point my scripts needs check if a file is specified, if it was it will be ...
0
votes
2answers
4k views
Why does this incrementing for loop return a bad variable?
I'm trying to call this shell script from within the CLI of GRASS GIS:
for (( day=5; day<367; day+5 )); do
# commands that I've tested without a loop.
done
exit 0
returns
Syntax error: Bad ...
0
votes
1answer
2k views
How to pkill from a script?
How can I write a script that basically just runs pkill -HUP inetd? I want to restart inetd via a script so I can schedule it to run at a particular time. I tried to write it myself, but I'm getting a ...
11
votes
2answers
779 views
What is the difference between : and true?
In bash:
$ type :
: is a shell builtin
$ type true
true is a shell builtin
Looks like they are the same, but they don't give the same system trace:
$ strace :
strace: :: command not found
$ strace ...
3
votes
2answers
1k views
Getopts option processing, Is it possible to add a non hyphenated [FILE]?
I'm using getopts for all of my scripts that require advanced option parsing, and It's worked great with dash. I'm familiar with the standard basic getopts usage, consisting of [-x] and [-x OPTION]. ...
5
votes
2answers
494 views
Can I trace a dash script without modifying its source code?
I would like to trace a shell script for debugging purposes without having to modify its source code (e.g. change the shebang or insert a set -x at the beginning). It is a dpkg postinst script, so not ...
0
votes
1answer
845 views
POSIX and Bash, sh shorthand, for compound if statement
I prefer to do my sh commands in shorthand, And I prefer to be in POSIX. Truthfully, if the script can run on Dash, that is good enough. Which means using the test command [, not the extended [[.
I ...
1
vote
1answer
169 views
How does this bash function work?
I'm looking at this short example, and I don't see how this function works:
function EXT_COLOR () { echo -ne "\[\033[38;5;$1m\]"; }
AFAIK -ne stands for not equal. What are we comparing here? I ...
5
votes
2answers
1k views
Will I be able to build LFS using dash and mawk?
I decided that I want to learn more about Linux and try building LFS. I'm using Ubuntu 11.04 as host system and Ubuntu uses dash and mawk by default. I've changed mawk to gawk, but considering that ...
2
votes
4answers
3k views
Shell script error message
I am trying to learn shell scripting by reading linuxcommand.org. For some reason I keep getting the error "Not Found", even though it runs all the commands.
The error codes I get are:
...
5
votes
2answers
1k views
dash compatibility to bash
Wikipedia says that dash executes faster than bash. My question is, if I set /bin/sh to dash, will all scripts that use /bin/sh in their shebang line that was intended for bash work under dash?