Sponsored Content
Top Forums Shell Programming and Scripting Terminal is closing on exit in ksh Post 302393497 by pludi on Tuesday 9th of February 2010 02:42:24 AM
Old 02-09-2010
The problem is that you're sourcing the script, instead of running it. If sourced, the script is executed in the context of the current shell, instead of a different process, which is why the exit affects your terminal. Run it as
Code:
./test

instead.

Also, it's a good idea to change the name of the script, as test is both an executable (probably as /usr/bin/test) and a reserved word for most shells.
 

10 More Discussions You Might Find Interesting

1. Programming

Exit Code in HP-UX KSH.

In one of my programs another process is called using the system command e.g. lv_error = system("myproc"); where lv_error is declared as an int. myproc would be returning 0 for success and 1 for failure. e.g. if (success) { return(0); }else{ return(1); } When the return code... (3 Replies)
Discussion started by: mbb
3 Replies

2. UNIX for Advanced & Expert Users

how to run a process after closing the terminal

i want to execute a shell script even if the terminal is closed. how to do? (3 Replies)
Discussion started by: lakshmananindia
3 Replies

3. UNIX for Advanced & Expert Users

How to exit the KSH functions

Hi I am having the script which contains more functions. I want to exit the function if any failure. I tried with exit - the session itself is getting logged out. How can i fix this issue? (11 Replies)
Discussion started by: sharif
11 Replies

4. Shell Programming and Scripting

Clear Terminal After Exit

I have had a look around and can not find the answer, I dont think im searching for the right phrase. I have written a script to control common functions on my server, however when exiting the script the terminal starts directly below the script that was running... how can i clear this so it... (2 Replies)
Discussion started by: foz
2 Replies

5. Shell Programming and Scripting

KSH: Test telnet and exit

Hi, I need to do a test Telnet in KSH and if the connection is good then disconnect the telnet session with out logging in and without exiting the shell script. Example output of a good connection: $telnet xxx.xx.xx.xxx xxxx Trying xxx.xx.xx.xxx... Connected to xxx.xx.xx.xxx. Escape... (1 Reply)
Discussion started by: calex
1 Replies

6. Shell Programming and Scripting

KSH: Confused with behaviour of exit

Hi Everyone, I am confused on why the below snippet of code is not working as I intend it to do. I have googled and confirmed that "exit" is supposed to abort the execution of the script regardless if the exit was called from inside a function, or the main body of the script. log_and_die() { ... (3 Replies)
Discussion started by: maddmaster
3 Replies

7. UNIX for Dummies Questions & Answers

Prevent terminal from closing after command execution

Hello, I want to create application which launches some terminal, then some command is executed on that terminal and then prevent terminal from closing. I started to do on gnome-terminal because the Gnome is the most widely used desktop-manager in the Linux distributions. I want to do... (3 Replies)
Discussion started by: tyanata
3 Replies

8. Debian

How to exit debian server terminal?

I have an situation that are quite strange to me. I am not able to exit the server terminal and enter back into my home computer terminal by the command exit like I used to be able to exit the server terminal with before. I end up into my root shell again without even typing the root password like... (6 Replies)
Discussion started by: Jonathan Sander
6 Replies

9. Shell Programming and Scripting

Script Works But Need It to Exit Upon Closing Program

Running Xubuntu 16.04 with shell version "GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)," I have a working script that consistently renames a Chrome window: #!/bin/sh while sleep 1; do xdotool search --name chrome 2>/dev/null | while read id; do xdotool set_window --name... (21 Replies)
Discussion started by: jakefish
21 Replies

10. Shell Programming and Scripting

Terminal running bash/rsync script does not close with exit (MacOS High SIerra)

Hello, I am running a bash script to do an rsync back on a computer running MacOS High Sierra. This is the script I am using, #!/bin/bash # main backup location, trailing slash included backup_loc="/Volumes/Archive_Volume/00_macos_backup/" # generic backup function function backup {... (12 Replies)
Discussion started by: LMHmedchem
12 Replies
Test::Class::Load(3pm)					User Contributed Perl Documentation				    Test::Class::Load(3pm)

NAME
Test::Class::Load - Load "Test::Class" classes automatically. VERSION
Version 0.02 SYNOPSIS
use Test::Class::Load qw(t/tests t/lib); Test::Class->runtests; EXPORT
None. DESCRIPTION
"Test::Class" typically uses a helper script to load the test classes. It often looks something like this: #!/usr/bin/perl -T use strict; use warnings; use lib 't/tests'; use MyTest::Foo; use MyTest::Foo::Bar; use MyTest::Foo::Baz; Test::Class->runtests; This causes a problem, though. When you're writing a test class, it's easy to forget to add it to the helper script. Then you run your huge test suite and see that all tests pass, even though you don't notice that it didn't run your new test class. Or you delete a test class and you forget to remove it from the helper script. "Test::Class::Load" automatically finds and loads your test classes for you. There is no longer a need to list them individually. BASIC USAGE
Using "Test::Class::Load" is as simple as this: #!/usr/bin/perl -T use strict; use warnings; use Test::Class::Load 't/tests'; Test::Class->runtests; That will search through all files in the "t/tests" directory and automatically load anything which ends in ".pm". You should only put test classes in those directories. If you have test classes in more than one directory, that's OK. Just list all of them in the import list. use Test::Class::Load qw< t/customer t/order t/inventory >; Test::Class->runtests; ADVANCED USAGE
Here's some examples of advanced usage of "Test::Class::Load". FILTER LOADED CLASSES You can redefine the filtering criteria, that is, decide what classes are picked up and what others are not. You do this simply by subclassing "Test::Class::Load" overriding the "is_test_class()" method. You might want to do this to only load modules which inherit from "Test::Class", or anything else for that matter. is_test_class $is_test_class = $class->is_test_class( $file, $directory ) Returns true if $file in $directory should be considered a test class and be loaded by Test::Class::Load. The default filter simply returns true if $file ends with ".pm" For example: use strict; use warnings; package My::Loader; use base qw( Test::Class::Load ); # Overriding this selects what test classes # are considered by T::C::Load sub is_test_class { my ( $class, $file, $dir ) = @_; # return unless it's a .pm (the default) return unless $class->SUPER:is_test_class( $file, $dir ); # and only allow .pm files with "Good" in their filename return $file =~ m{Good}; } 1; CUSTOMIZING TEST RUNS One problem with this style of testing is that you run all of the tests every time you need to test something. If you want to run only one test class, it's problematic. The easy way to do this is to change your helper script by deleting the "runtests" call: #!/usr/bin/perl -T use strict; use warnings; use Test::Class::Load 't/tests'; Then, just make sure that all of your test classes inherit from your own base class which runs the tests for you. It might looks something like this: package My::Test::Class; use strict; use warnings; use base 'Test::Class'; INIT { Test::Class->runtests } # here's the magic! 1; Then you can run an individual test class by using the "prove" utility, tell it the directory of the test classes and the name of the test package you wish to run: prove -lv -It/tests Some::Test::Class You can even automate this by binding it to a key in "vim": noremap ,t :!prove -lv -It/tests %<CR> Then you can just type ",t" ('comma', 'tee') and it will run the tests for your test class or the tests for your test script (if you're using a traditional "Test::More" style script). Of course, you can still run your helper script with "prove", "make test" or "./Build test" to run all of your test classes. If you do that, you'll have to make sure that the "-I" switches point to your test class directories. SECURITY
"Test::Class::Load" is taint safe. Because we're reading the class names from the directory structure, they're marked as tainted when running under taint mode. We use the following ultra-paranoid bit of code to untaint them. Please file a bug report if this is too restrictive. my ($package) = $_package =~ /^([[:word:]]+(?:::[[:word:]]+)*)$/; AUTHOR
Curtis "Ovid" Poe, "<ovid@cpan.org>" BUGS
Please report any bugs or feature requests to "bug-test-class-load@rt.cpan.org", or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Class-Load <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Class-Load>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. ACKNOWLEDGMENTS
Thanks to David Wheeler for the idea and Adrian Howard for "Test::Class". COPYRIGHT &; LICENSE Copyright 2006 Curtis "Ovid" Poe, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-06-27 Test::Class::Load(3pm)
All times are GMT -4. The time now is 05:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy