Name : perl-Shell-Guess
| |
Version : 0.90.0
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 1.4
| Date : 2018-12-08 07:26:01
|
Group : Unspecified
| Source RPM : perl-Shell-Guess-0.90.0-1.4.src.rpm
|
Size : 0.05 MB
| |
Packager : (none)
| |
Summary : make an educated guess about the shell in use
|
Description :
Shell::Guess makes a reasonably aggressive attempt to determine the shell being employed by the user, either the shell that executed the perl script directly (the \"running\" shell), or the users\' login shell (the \"login\" shell). It does this by a variety of means available to it, depending on the platform that it is running on.
* * getpwent
On UNIXy systems with getpwent, that can be used to determine the login shell.
* * dscl
Under Mac OS X getpwent will typically not provide any useful information, so the dscl command is used instead.
* * proc file systems
On UNIXy systems with a proc filesystems (such as Linux), Shell::Guess will attempt to use that to determine the running shell.
* * ps
On UNIXy systems without a proc filesystem, Shell::Guess will use the ps command to determine the running shell.
* * Win32::Getppid and Win32::Process::List
On Windows if these modules are installed they will be used to determine the running shell. This method can differentiate between PowerShell, \'command.com\' and \'cmd.exe\'.
* * ComSpec
If the above method is inconclusive, the ComSpec environment variable will be consulted to differentiate between \'command.com\' or \'cmd.exe\' (PowerShell cannot be detected in this manner).
* * reasonable defaults
If the running or login shell cannot be otherwise determined, a reasonable default for your platform will be used as a fallback. Under OpenVMS this is dcl, Windows 95/98 and MS-DOS this is command.com and Windows NT/2000/XP/Vista/7 this is cmd.exe. UNIXy platforms fallback to bourne shell.
The intended use of this module is to enable a Perl developer to write a script that generates shell configurations for the calling shell so they can be imported back into the calling shell using \'eval\' and backticks or \'source\'. For example, if your script looks like this:
use Shell::Guess; my $shell = Shell::Guess->running_shell; if($shell->is_bourne) { print \"export FOO=bar\ \"; } else($shell->is_c) { print \"setenv FOO bar\ \"; } else { die \"I don\'t support \", $shell->name, \" shell\"; }
You can then import FOO into your bash or c shell like this:
% eval `perl script.pl`
or, you can write the output to a configuration file and source it:
% perl script.pl > foo.sh % source foo.sh
Shell::Config::Generate provides a portable interface for generating such shell configurations, and is designed to work with this module.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl/openSUSE_Tumbleweed/noarch |