Sponsored Content
Top Forums Shell Programming and Scripting Shell quoting rules for other languages programmers Post 302717645 by wyderkat on Thursday 18th of October 2012 11:39:36 AM
Old 10-18-2012
When I have just few screws (few lines of code) and my bed is falling apart without it (software crushes) and those screws have that strange head shape that non of my screwdriver matches (pure shell syntax) I will use hammer if I want to go sleep Smilie

But seriously using eval cannot be so harmful...It's just re-evaluation of strings.
 

10 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

Shell scripting & programming languages

If I want to do high-end 3d animation, what skell scripting languages, and programming languages shoul I learn? If you know any good resources for learning these languages they would be appreciated. (1 Reply)
Discussion started by: aloysius1001
1 Replies

2. UNIX for Advanced & Expert Users

Perl - Programmers manual online?

I have never programmed in Perl (insert laughter, mock, etc. here ____) - so I need a sort of "Programming in Perl" covering the basics. I now have two Perl books, one is a 5 volume Unix resource kit, the other is "Mastering algorithms with Perl" - none of them explains how to produce "hello,... (11 Replies)
Discussion started by: AtleRamsli
11 Replies

3. News, Links, Events and Announcements

Good Essays For Programmers

Check the essays out. http://www.paulgraham.com (0 Replies)
Discussion started by: photon
0 Replies

4. What is on Your Mind?

Suggested venues to look for advanced C programmers

Can someone suggest any online venues to assist in recruiting a senior C programmer (looking for someone interested in working on kerberos code). I've tried a bunch of the open source and higher ed lists (this is for Univ. of Michigan). The commercial services such as Dice or monster yield a... (7 Replies)
Discussion started by: painman
7 Replies

5. What is on Your Mind?

Programming languages polyglots: how many languages you know?

Post what languages (including scripting) you know, why and where you think that language is most usable. Also include libraries in which you're really good at (libusb, gtk, qt, etc). assembly? C or C++? perl or python? pascal? bash or csh/tcsh? opengl? gtk or qt? mono? (27 Replies)
Discussion started by: redoubtable
27 Replies

6. Shell Programming and Scripting

Shell quoting problem while editing a remote file using sed

value of i = solarisbox ssh $i "cat /etc/hosts | sed "s/$i\.local\.//" | sed "s/$i\./$i/" | sed "s/$i/$i.sol.com/" > /usr/users/chidori/edit_hosts"While running the above one liner its i am not able to make the changes and write it to the file /usr/users/chidori/edit_hosts . I know there is a... (2 Replies)
Discussion started by: chidori
2 Replies

7. Programming

Hello UNIX programmers

i have MOTIF installed X11 a easy program is saved as hello.c there is the following message where can i get the X11/intrinsic.h , file ??? need help to compile my system : MX-16 Linux Debian Jessie / i386 hans@mx1:~/Documents $ cc push.c -o push -lXm -lXt -lX11 In file included from... (0 Replies)
Discussion started by: Zabo
0 Replies

8. Forum Support Area for Unregistered Users & Account Problems

Trojan is detected when I visit Programmers forum

When I visit Programmers forum my ESET Nod32 detects TrojanDownloader.Pegel.BH.trojan I don't know when it started, as I visited the site today after staying off-line a few days. (2 Replies)
Discussion started by: migurus
2 Replies

9. What is on Your Mind?

Multics Systems Programmers Manual as of 1969-04-01, comprising 996 PDF Files

While working on my current "UNIX history project" I ran across this: Jerry Saltzer created an online scanned copy of the Multics Systems Programmers' Manual (MSPM) in this directory. Based on the 1969-04-01 MSPM, the repo comprising 996 PDF files. In order to help preserver the MSPM, ... (1 Reply)
Discussion started by: Neo
1 Replies

10. What is on Your Mind?

The poorest of computer users are programmers...

Hi guys and gals... A mildly humourous blog from 2013, but I come into this category... ;oDD Languager: The Poorest Computer Users are Programmers (0 Replies)
Discussion started by: wisecracker
0 Replies
Shell(3pm)						 Perl Programmers Reference Guide						Shell(3pm)

NAME
Shell - run shell commands transparently within perl SYNOPSIS
use Shell qw(cat ps cp); $passwd = cat('</etc/passwd'); @pslines = ps('-ww'), cp("/etc/passwd", "/tmp/passwd"); # object oriented my $sh = Shell->new; print $sh->ls('-l'); DESCRIPTION
Caveats This package is included as a show case, illustrating a few Perl features. It shouldn't be used for production programs. Although it does provide a simple interface for obtaining the standard output of arbitrary commands, there may be better ways of achieving what you need. Running shell commands while obtaining standard output can be done with the "qx/STRING/" operator, or by calling "open" with a filename expression that ends with "|", giving you the option to process one line at a time. If you don't need to process standard output at all, you might use "system" (in preference of doing a print with the collected standard output). Since Shell.pm and all of the aforementioned techniques use your system's shell to call some local command, none of them is portable across different systems. Note, however, that there are several built in functions and library packages providing portable implementations of functions operating on files, such as: "glob", "link" and "unlink", "mkdir" and "rmdir", "rename", "File::Compare", "File::Copy", "File::Find" etc. Using Shell.pm while importing "foo" creates a subroutine "foo" in the namespace of the importing package. Calling "foo" with arguments "arg1", "arg2",... results in a shell command "foo arg1 arg2...", where the function name and the arguments are joined with a blank. (See the subsection on Escaping magic characters.) Since the result is essentially a command line to be passed to the shell, your notion of arguments to the Perl function is not necessarily identical to what the shell treats as a command line token, to be passed as an individual argument to the program. Furthermore, note that this implies that "foo" is callable by file name only, which frequently depends on the setting of the program's environment. Creating a Shell object gives you the opportunity to call any command in the usual OO notation without requiring you to announce it in the "use Shell" statement. Don't assume any additional semantics being associated with a Shell object: in no way is it similar to a shell process with its environment or current working directory or any other setting. Escaping Magic Characters It is, in general, impossible to take care of quoting the shell's magic characters. For some obscure reason, however, Shell.pm quotes apostrophes ("'") and backslashes ("") on UNIX, and spaces and quotes (""") on Windows. Configuration If you set $Shell::capture_stderr to 1, the module will attempt to capture the standard error output of the process as well. This is done by adding "2>&1" to the command line, so don't try this on a system not supporting this redirection. Setting $Shell::capture_stderr to -1 will send standard error to the bit bucket (i.e., the equivalent of adding "2>/dev/null" to the command line). The same caveat regarding redirection applies. If you set $Shell::raw to true no quoting whatsoever is done. BUGS
Quoting should be off by default. It isn't possible to call shell built in commands, but it can be done by using a workaround, e.g. shell( '-c', 'set' ). Capturing standard error does not work on some systems (e.g. VMS). AUTHOR
Date: Thu, 22 Sep 94 16:18:16 -0700 Message-Id: <9409222318.AA17072@scalpel.netlabs.com> To: perl5-porters@isu.edu From: Larry Wall <lwall@scalpel.netlabs.com> Subject: a new module I just wrote Here's one that'll whack your mind a little out. #!/usr/bin/perl use Shell; $foo = echo("howdy", "<funny>", "world"); print $foo; $passwd = cat("</etc/passwd"); print $passwd; sub ps; print ps -ww; cp("/etc/passwd", "/etc/passwd.orig"); That's maybe too gonzo. It actually exports an AUTOLOAD to the current package (and uncovered a bug in Beta 3, by the way). Maybe the usual usage should be use Shell qw(echo cat ps cp); Larry Wall Changes by Jenda@Krynicky.cz and Dave Cottle <d.cottle@csc.canterbury.ac.nz>. Changes for OO syntax and bug fixes by Casey West <casey@geeknest.com>. $Shell::raw and pod rewrite by Wolfgang Laun. Rewritten to use closures rather than "eval "string"" by Adriano Ferreira. perl v5.12.5 2012-11-03 Shell(3pm)
All times are GMT -4. The time now is 12:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy