Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Differences in BASH and ASH shells regarding if command? Post 302452185 by Scrutinizer on Thursday 9th of September 2010 01:34:46 PM
Old 09-09-2010
ash is (almost) a posix shell and offers no additional functionality and as such does not support [[ ]] with pattern matching (which is ksh/bash)
use:
Code:
case $TARGETLIST in
  *$QUERYVALUE*) blah blah blah
esac

 

10 More Discussions You Might Find Interesting

1. BSD

BSD, Bash and Shells?

When I use Mac OS X's Terminal the UI is some what easier than that of Linux... I this just a shell or something because using Bash is a pain in RH's Linux 9. It's so sensitive about case etc. ??? In that way what is the shell that OS X uses as it's default Bash is on OS X (OK Duh) and... (3 Replies)
Discussion started by: RedVenim
3 Replies

2. Shell Programming and Scripting

Why generate "ash and bash" different output for same bash script?

Hi, For my bash script, terminal with bash is generate an OK output and program works right. already, terminal with ash have "line 48: syntax error: Bad substitution" output and program don't work. :confused: (0 Replies)
Discussion started by: s. murat
0 Replies

3. Shell Programming and Scripting

Interacting with two BASH shells

Hi. I'm working with two BASH shells in order to perform two tasks. For simplicity, suppose that at Shell #1 I'm executing this program: sleep 100 whose PID is 263. Meanwhile Shell #2 is waiting for its termination to follow with a second one. I tried with: wait 263 # Script for second... (4 Replies)
Discussion started by: hresquivelo
4 Replies

4. Shell Programming and Scripting

Bash shells communication

Hello all, I have the following problem. In a Bash shell I run a program (I don't have the source code) which will execute some steps. At every step the program will wait for a user input. So I would like that another script which is running on a different shell will send these input togheter with... (4 Replies)
Discussion started by: alohisius
4 Replies

5. Shell Programming and Scripting

Differences between shells

What is the practical difference among the different shell like csh , ksh , bash etc.:confused::confused: Please use descriptive subjects instead of single words (2 Replies)
Discussion started by: hiten.r.chauhan
2 Replies

6. Shell Programming and Scripting

ash busybox read command not working inside function....

I have a script that has to execute a read command in a function, this is in an ash busybox. The code is... trapcatch () { echo "Ctl-c Detected, what do you want to do?" echo "Please choose the number of one of the following options" echo "1. Jump past this Set" echo "2. Exit... (8 Replies)
Discussion started by: tesser
8 Replies

7. Shell Programming and Scripting

Bash Script to Ash (busybox) - Beginner

Hi All, I have a script that I wrote on a bash shell, I use it to sort files from a directory into various other directories. I have an variable set, which is an array of strings, I then check each file against the array and if it is in there the script sorts it into the correct folder. But... (5 Replies)
Discussion started by: sgtbobie
5 Replies

8. Ubuntu

Bash to Ash, errors and adjustments

I wrote Bash script and now I want to convert it to Ash. One headache is this function: do_adduser() { setaddprompt _arr_add=("Add manually" "Add via TXT" "return to main menu" "exit program") select add_action in "${_arr_add}" do case "$REPLY" in 1)... (7 Replies)
Discussion started by: fzivkovi
7 Replies

9. Ubuntu

Bash to ash port, character-matching problem

I'm trying to convert this working bash script into an Ash script, read -p "Username:" _username if ! ]]; then echo "Valid" else echo "INVALID" fi However, Ash does not recognize the "=~" character. How can I do this? Also, is there a good reference guide, so I... (5 Replies)
Discussion started by: fzivkovi
5 Replies

10. Ubuntu

Convert a bash to ash

hello everybody, i'm a beginner in ash and i want to convert this bash script to ash. this script send a xml file to a nagios server : #!/bin/bash PROGNAME=$(basename $0) RELEASE="Revision 0.3" print_release() { echo "$RELEASE" } print_usage() { echo "" echo "$PROGNAME... (6 Replies)
Discussion started by: mdijoux25
6 Replies
SOCKDOWN(1)						      General Commands Manual						       SOCKDOWN(1)

NAME
sockdown - shutdown(2) a socket netpipes 4.2 SYNOPSIS
sockdown [ fd [how] ] DESCRIPTION
sockdown performs the shutdown(2) system call on one of its file descriptors specified by fd. The possible values for how are +----------+---------------------------------------------------------+ |writeonly | convert to write-only file descriptor | |0 | convert to write-only file descriptor | |writeonly | symbolic for same as above | |1 | convert to read-only file descriptor | |readonly | symbolic for same as above | |2 | complete shutdown. no more reads or writes are allowed | |totally | symbolic for same as above | +----------+---------------------------------------------------------+ The default fd is 1 (stdout) and the default how is 1. EXAMPLES
Imagine you have a machine that can perform a service (in this case conversion from ASCII to fancy postscript) : server$ faucet 3000 --in --out enscript -2rGhp - You may then connect to it with a hose. However, the first example enters deadlock : client$ hose server 3000 -in -out sh -c " cat blah.txt & cat > blah.ps " The enscript blocks waiting for input from the socket because not all of the client processes have exited. While the cat blah.txt is fin- ished, the cat > blah.ps is not, and will not be finished until the remote enscript process finishes writing. The enscript process will not finish writing until it is finished reading, but that client->server half of the socket is still open and will not be closed until all the client processes are done. The result is deadlock. So, we use sockdown to close half of the pipe client$ hose server 3000 -in -out sh -c " ( cat blah.txt ; sockdown ) & cat > blah.ps " This way when the cat blah.txt is done, half of the socket is shut down and the remote enscript process runs out of input, causing it to flush its output and exit, so eventually the whole mess finishes cleanly. Note: the & on the hose is necessary to prevent another deadlock. If we simply used the ; to serialize the two cat processes it is possi- ble that the enscript would fill up its write buffer before the first cat was done causing both processes to block and preventing the sec- ond cat from draining the pipe. Of course, that idiomatic usage of hose is so useful that it is a special form: client$ hose server 3000 -slave < blah.txt > blah.ps Ian Stirling <root@mauve.demon.co.uk> informs me that sockdown can be used in Linux's /proc/pid/fd/ directories to tear down hung network connections. I have since used this myself on a wedged MOMspider. To try this, you have to know the PID of the program and the file descriptor of the wedged socket (can sometimes be found by running strace and see if the program is stuck in a read(2) system call). If the PID is 991 and the socket's descriptor is 5, you do this as root: bash# sockdown 1 2 > /proc/991/fd/5 ERRORS
Socket operation on non-socket Invalid argument (seen on Solaris) The fd you specified does not refer to a socket. This happens when you run sockdown by itself (it is unlikely that any of the file descriptors attached to an interactive shell are actually sockets) or if you goof up your faucet/hose command and forgot to dup(2) one of your descriptors. Bad file number You gave it a bad file number for fd. If you have enough skill to actually generate this error, you probably know what is wrong. If you encounter any other errors, clue me in. SEE ALSO
netpipes (1) faucet (1), hose (1), getpeername (1), socket (2), shutdown (2), NOTES
Any normal human would assume a program this simple has to be bug free, but I am an experienced programmer. Just avoid doing anything funky like passing sockdown strings and it should serve you well. You should not have to pass it any arguments unless you are doing something fairly funky. Perhaps I should ditch the shutdown -a semantics on hose since a sockdown 1 2 would do the job. CREDITS
Ian Stirling <root@mauve.demon.co.uk>, for the idea of using this program in /proc on a Linux machine. COPYRIGHT
Copyright (C) 1995-1998 Robert Forsman This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. AUTHOR
Robert Forsman thoth@purplefrog.com Purple Frog Software http://web.purplefrog.com/~thoth/ July 7, 1998 SOCKDOWN(1)
All times are GMT -4. The time now is 04:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy