LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 12-08-2017, 09:51 PM   #1
bulletproof.rs
Member
 
Registered: Jun 2011
Posts: 51

Rep: Reputation: Disabled
Running bash script from another bash script


Hello everyone,

I have a bit of a weird issue with one of the scripts that I'm creating.
To be more precise, the part of the script that is getting stuck is updater.
I will provide brief explanation of what it does and snippet of where does it get stuck.

Upon starting ./main 1234 (1234 being store number), script will check if there are updates to it by comparing version from another file.
If there is a new version, it will run a prompt to update it which will run the second script, the ./updater, passing the 1234 argument to it.

./updater will kill the first script, delete it, copy the new version to home folter and then run the ./main and passing the set argument 1234 to it so it can pick up where it left off.
./main will show up couple of options to search for (created with case/esac), and when option is selected (in this case 6) it will error out and exit with:

Code:
bash: 6: command not found
Part of ./main script:
Code:
# Prompts user for search string
# mac or data
search_what() {
	clear
	echo ${YELLOW}
	if [[ "$currentsswv" > "$sswv" ]]
	then
		printf "New version available. Install now? [Y/n]";echo -n
		read uresponse
		case $uresponse in
			[Nn]*)
				continue ;;
			*)
				echo $$>searchsw.pid ;
				/u/users/mtodoric1/swupdater $sstore ;;
		esac
		#printf "Update is available. Please restart $HOSTNAME to install the update"
		printf "\n\n\n\n\n\n"
	else
		printf "Selected store: $sstore"
		printf "\n\n\n\n\n\n"
	fi
	echo ${NORMAL}
	printf  "\t\tEnter 1 for searching for string < err >:\n"
	printf  "\t\tEnter 2 for searching for mac address:\n"
	printf  "\t\tEnter 3 for searching for sticky mac address:\n"
	printf  "\n"
	printf  "\t\tEnter 4 to clear sticky mac range:\n"
	printf  "\t\tEnter 5 to search for specific devices:\n"
	printf  "\t\tEnter 6 to search for Controller ports:\n"
	printf  "\t\tEnter 7 to check for Switch CPU Utilization:\n"
	printf  "\t\tEnter 8 to search the Router ARP Table:\n"
	printf  "\t\tEnter 9 to run Site Check:\n"
	printf  "\t\t\t any other key to exit ";echo -n
	read prompt1

	case $prompt1 in
		1)
		get_file ; status ;;
		2)
		get_mac ; macstat ;;
		3)
		get_mac ; stickymac ;;
		4)
		clearsticky ;;
		5)
		search_dev ;;
		6)
		controllerports ;;
		7)
		switchutil ;;
		8)
		get_ip ; checkarp ;;
		9)
		sitecheck ;;
		*)
		exit 2 ;;
	esac
}
Updater:
Code:
#!/bin/ksh
#main updater script

#Global
store=$1
YELLOW=$(tput setaf 3)
RED=$(tput setaf 1)
NORMAL=$(tput sgr0)

echo ${YELLOW}
printf "\n\nKilling current version of the script"; sleep 1; printf "."; sleep 1; printf "."; sleep 1; printf ".\n\n"
kill $(cat ~/main.pid)
clear
rm -rf ~/main.pid
echo ${RED}
print "searchsw Script Updater 1.0\n\n"
echo ${YELLOW}
sleep 0.3; printf "Removing current version"; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf ".\n"
rm -rf ~/main
printf "Copying new version"; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf ".\n"
cp /u/users/mtodoric1/main ~/main
printf "Copying new version"; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf "."; sleep 0.3; printf ".\n"
chmod +x ~/main
echo ${RED}
printf "DONE!\n"
echo ${YELLOW}
printf "Picking up where we left off"; sleep 1; printf "."; sleep 1; printf "."; sleep 1; printf "."; sleep 1; printf "."
echo ${NORMAL}
cd ~/
./main $store



Code:
Selected store: 1234






                Enter 1 for searching for string < err >:
                Enter 2 for searching for mac address:
                Enter 3 for searching for sticky mac address:

                Enter 4 to clear sticky mac range:
                Enter 5 to search for specific devices:
                Enter 6 to search for Controller ports:
                Enter 7 to check for Switch CPU Utilization:
                Enter 8 to search the Router ARP Table:
                Enter 9 to run Site Check:
                         any other key to exit 6
bash: 6: command not found
Any ideas?

Last edited by bulletproof.rs; 12-10-2017 at 08:10 AM.
 
Old 12-09-2017, 03:52 AM   #2
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
does it always say '6'?
i mean, if you enter '3', does it say
Code:
bash: 3: command not found
???
if you enter something invalid? like asjkdghafsd? what dopes it say then?

does the script exit inside the case-esac or right before?

the 'echo -n' looks fishy. it serves no purpose, remove it?

all i'm suggesting is basic script troubleshooting.
add some output at critical points to see where things break.
or add the line 'set -x' right under '#!/bin/bash'.
 
Old 12-09-2017, 04:06 AM   #3
bulletproof.rs
Member
 
Registered: Jun 2011
Posts: 51

Original Poster
Rep: Reputation: Disabled
Yes, if i enter '3' it will say
Code:
bash: 3: command not found
And it will ONLY happen if i run main from updater.
If i solo run main it will work perfectly.
I forgot to mention that i am using korn shell (forced to use). So its

#!/bin/ksh

If i enter something invalid like 'asjkdghafsd' it will also display that as invalid command.

It's acting like its not running the script. It will display all the needing output. But when i use option in that menu, it will behave as if i typed it in regular shell, like none of the scripts are ran.

So i don't know.. Maybe exits from outside the case?
But why only when started from updater - i don't have a clue!

I'll try by removing echo -n as soon as i get on the pc

One more edit:
You might be on to something with echo -n.

Last night i was doing some troubleshooting and was simulating a bad update.
Script version had a var $sswv always lower than $currentsswv. So right after updating and re running the script by updater, it will ask for update again!
Whatever i type in, whether that be enter, yes, no, ahbshejan, it will enter the update procedure and go into an update loop... And i also had echo -n right after the question for an update.
Weird much?

Last edited by bulletproof.rs; 12-09-2017 at 04:15 AM.
 
Old 12-09-2017, 04:32 PM   #4
bulletproof.rs
Member
 
Registered: Jun 2011
Posts: 51

Original Poster
Rep: Reputation: Disabled
Just tried it with removing echo -n. Still the same. I've enabled set -x for both scripts and i couldn't find anything specifically wrong.
Here is the output, sorry since it's a bit long..
I've noticed that both scripts were showing in "ps u" even while it appeared that it exited eventually, at the bottom of the line bellow.

Code:
mtodoric1@hostname:/u/users/mtodoric1$ main 1234
+ sstore=1234
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=3.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z '' ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 3.0 > 2.0 ]]
+ printf 'New version available. Install now? [Y/n]'
New version available. Install now? [Y/n]+ read uresponse
y
+ echo 25442
+ 1> main.pid
+ /u/users/mtodoric1/updater 1234 us
+ store=1234
+ cc=us
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput setaf 1
+ RED=$'\E[31m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ echo $'\E[33m'

+ printf '\n\nKilling current version of the script'


Killing current version of the script+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf '.\n\n'
.

+ cat /u/users/mtodoric1/main.pid
+ kill 25442
Terminated
+ clear
mtodoric1@hostname:/u/users/mtodoric1$
+ rm -rf /u/users/mtodoric1/main.pid
+ echo $'\E[31m'

+ printf 'main Script Updater 1.0\n\n'
main Script Updater 1.0

+ echo $'\E[33m'

+ sleep 0.3
+ printf 'Removing current version'
Removing current version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Copying new version'
Copying new version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Adjusting permissions'
Adjusting permissions+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ echo $'\E[31m'

+ printf 'DONE!\n'
DONE!
+ echo $'\E[33m'

+ printf 'Picking up where we left off'
Picking up where we left off+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ echo $'\E(B\E[m'

+ cd /u/users/mtodoric1/
+ ./main 1234 us
+ sstore=1234
+ awns=null
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=2.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z us ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 2.0 > 2.0 ]]
+ printf 'Selected store: 1234'
Selected store: 1234+ printf '\n\n\n\n\n\n'






+ echo $'\E(B\E[m'

+ printf '\t\tEnter 1 for searching for string < err >:\n'
                Enter 1 for searching for string < err >:
+ printf '\t\tEnter 2 for searching for mac address:\n'
                Enter 2 for searching for mac address:
+ printf '\t\tEnter 3 for searching for sticky mac address:\n'
                Enter 3 for searching for sticky mac address:
+ printf '\n'

+ printf '\t\tEnter 4 to clear sticky mac range:\n'
                Enter 4 to clear sticky mac range:
+ printf '\t\tEnter 5 to search for specific devices:\n'
                Enter 5 to search for specific devices:
+ printf '\t\tEnter 6 to search for Controller ports:\n'
                Enter 6 to search for Controller ports:
+ printf '\t\tEnter 7 to check for Switch CPU Utilization:\n'
                Enter 7 to check for Switch CPU Utilization:
+ printf '\t\tEnter 8 to search the Router ARP Table:\n'
                Enter 8 to search the Router ARP Table:
+ printf '\t\tEnter 9 to run Site Check:\n'
                Enter 9 to run Site Check:
+ printf '\t\t\t any other key to exit '
                         any other key to exit + read prompt1
6           <====== This is where i typed in 6 as case option 6
bash: 6: command not found <====== This is where it says 6 as command not found. If i selected 3, it would be 3 there
mtodoric1@hostname:/u/users/mtodoric1$           <====== Tried to hit enter couple of times
mtodoric1@hostname:/u/users/mtodoric1$
mtodoric1@hostname:/u/users/mtodoric1$ + exit 2          <====== I hit "n" here and he went exit 2 on me, exit 2 was * option in case.
n
bash: n: command not found
mtodoric1@hostname:/u/users/mtodoric1$
If i simulate that version number is still larger than current version, it will run updater all over again and get stuck in a loop, regardless of what i choose.
For example, i hit "n" then enter, it will run updater again which it should not.
When i hit NO, it will run updater immediately, before even hitting enter.

Code:
mtodoric1@hostname:/u/users/mtodoric1$ main 1234
+ sstore=1234
+ awns=null
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=3.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z '' ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 3.0 > 2.0 ]]
+ printf 'New version available. Install now? [Y/n]'
New version available. Install now? [Y/n]+ read uresponse
y
+ echo 30703
+ 1> main.pid
+ /u/users/mtodoric1/updater 1234 us
+ store=1234
+ cc=us
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput setaf 1
+ RED=$'\E[31m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ echo $'\E[33m'

+ printf '\n\nKilling current version of the script'


Killing current version of the script+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf '.\n\n'
.

+ cat /u/users/mtodoric1/main.pid
+ kill 30703
Terminated
mtodoric1@hostname:/u/users/mtodoric1$ + clear
+ rm -rf /u/users/mtodoric1/main.pid
+ echo $'\E[31m'

+ printf 'main Script Updater 1.0\n\n'
main Script Updater 1.0

+ echo $'\E[33m'

+ sleep 0.3
+ printf 'Removing current version'
Removing current version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Copying new version'
Copying new version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Adjusting permissions'
Adjusting permissions+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ echo $'\E[31m'

+ printf 'DONE!\n'
DONE!
+ echo $'\E[33m'

+ printf 'Picking up where we left off'
Picking up where we left off+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ echo $'\E(B\E[m'

+ cd /u/users/mtodoric1/
+ ./main 1234 us
+ sstore=1234
+ awns=null
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=3.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z us ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 3.0 > 2.0 ]]
+ printf 'New version available. Install now? [Y/n]'
New version available. Install now? [Y/n]+ read uresponse
n+ echo 30720
+ 1> main.pid
+ /u/users/mtodoric1/updater 1234 us
+ store=1234
+ cc=us
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput setaf 1
+ RED=$'\E[31m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ echo $'\E[33m'

+ printf '\n\nKilling current version of the script'


Killing current version of the script+ sleep 1

bash: n: command not found
mtodoric1@hostname:/u/users/mtodoric1$ + printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf '.\n\n'
.

+ cat /u/users/mtodoric1/main.pid
+ kill 30720
/u/users/mtodoric1/updater: line 32: 30720: Terminated
+ clear
+ rm -rf /u/users/mtodoric1/main.pid
+ echo $'\E[31m'

+ printf 'main Script Updater 1.0\n\n'
main Script Updater 1.0

+ echo $'\E[33m'

+ sleep 0.3
+ printf 'Removing current version'
Removing current version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Copying new version'
Copying new version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Adjusting permissions'
Adjusting permissions+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ echo $'\E[31m'

+ printf 'DONE!\n'
DONE!
+ echo $'\E[33m'

+ printf 'Picking up where we left off'
Picking up where we left off+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ echo $'\E(B\E[m'

+ cd /u/users/mtodoric1/
+ ./main 1234 us
+ sstore=1234
+ awns=null
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=3.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z us ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 3.0 > 2.0 ]]
+ printf 'New version available. Install now? [Y/n]'
New version available. Install now? [Y/n]+ read uresponse
NO+ echo 30739
+ 1> main.pid
+ /u/users/mtodoric1/updater 1234 us
+ store=1234
+ cc=us
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput setaf 1
+ RED=$'\E[31m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ echo $'\E[33m'

+ printf '\n\nKilling current version of the script'


Killing current version of the script+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf '.\n\n'
.

+ cat /u/users/mtodoric1/main.pid
+ kill 30739
/u/users/mtodoric1/updater: line 32: 30739: Terminated
+ clear
+ rm -rf /u/users/mtodoric1/main.pid
+ echo $'\E[31m'

+ printf 'main Script Updater 1.0\n\n'
main Script Updater 1.0

+ echo $'\E[33m'

+ sleep 0.3
+ printf 'Removing current version'
Removing current version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Copying new version'
Copying new version+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ printf 'Adjusting permissions'
Adjusting permissions+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf .
.+ sleep 0.3
+ printf '.\n'
.
+ echo $'\E[31m'

+ printf 'DONE!\n'
DONE!
+ echo $'\E[33m'

+ printf 'Picking up where we left off'
Picking up where we left off+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ sleep 1
+ printf .
.+ echo $'\E(B\E[m'

+ cd /u/users/mtodoric1/
+ ./main 1234 us
+ sstore=1234
+ awns=null
+ BOLD='\033[1m'
+ NONE='\033[00m'
+ tput setaf 3
+ YELLOW=$'\E[33m'
+ tput blink
+ BLINK=$'\E[5m'
+ tput sgr0
+ NORMAL=$'\E(B\E[m'
+ sswv=2.0
+ cat /u/users/mtodoric1/mainv
+ mainv=3.0
+ rm -rf 'cleararptemp.*'
+ rm -rf 'temp.*'
+ rm -rf main.pid
+ [ -z us ]
+ cc=us
+ [ -z 1234 ]
+ fix_length
+ difference=0
+ store=1234
+ search_what
+ clear
+ echo $'\E[33m'

+ [[ 3.0 > 2.0 ]]
+ printf 'New version available. Install now? [Y/n]'
New version available. Install now? [Y/n]+ read uresponse
It's really weird and it is getting frustrating
Any ideas?

EDIT:
I might've found a solution...

Here:
Code:
		case $uresponse in
			[Nn]*)
				continue ;;
			*)
				echo $$>searchsw.pid ;
				/u/users/mtodoric1/swupdater $sstore ;;
Instead of:

Code:
/u/users/mtodoric1/swupdater $sstore ;;
I've put
Code:
exec /u/users/mtodoric1/swupdater $sstore ;;
And same in updater. Put exec in front of it and everything appeared to be worked as charmed! But i still have no idea why !

Last edited by bulletproof.rs; 12-09-2017 at 05:10 PM. Reason: Found a resolution. Maybe?
 
Old 12-10-2017, 03:35 AM   #5
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
it must be because of ksh - which is not bash, as you now realized.
please change thread title.
and mark SOLVED?
 
Old 12-10-2017, 04:22 AM   #6
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,976

Rep: Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337Reputation: 7337
I would suggest you to use shellcheck to find (and fix) possible issues with your script.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] BASH Script - What am I doing wrong in this test? - BASH Script BW-userx Programming 34 04-08-2017 01:36 PM
[SOLVED] Bash Script - Reading User Input while Processing output from Command within Bash cleeky Linux - General 5 05-27-2014 02:57 PM
[SOLVED] Converting Script from Linux (GNU) Bash 4 to Solaris Bash 2.05 - Any cheat sheet? oly_r Solaris / OpenSolaris 6 05-03-2013 08:25 AM
SSH connection from BASH script stops further BASH script commands tardis1 Linux - Newbie 3 12-06-2010 08:56 AM
[SOLVED] Using a long Bash command including single quotes and pipes in a Bash script antcore Linux - General 9 07-22-2009 11:10 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 08:42 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration