Sponsored Content
Top Forums Shell Programming and Scripting Shell quoting rules for other languages programmers Post 302717711 by Corona688 on Thursday 18th of October 2012 01:06:01 PM
Old 10-18-2012
Yes, I know what you mean. I remember when I was starting with Linux, I didn't understand shell very well, and tried to write most of everything in Perl. This didn't make bash stupid, or eval necessary, I simply didn't know what I was doing.

Quote:
But seriously using eval cannot be so harmful...It's just re-evaluation of strings.
Yes. Yes, it can.

Imagine that you're feeding variables containing filenames into eval. Did you know that `rm -Rf ~/` is a valid filename?

Using eval lets external things inject whatever code they want into your program unless done very very carefully. If you don't know enough to avoid eval, you probably don't know how to use it safely either.

Last edited by Corona688; 10-18-2012 at 02:15 PM..
 

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
msh(1)							      General Commands Manual							    msh(1)

NAME
msh - MH shell (only available within the message handling system, mh) SYNOPSIS
msh [-help] [-prompt string] [file] OPTIONS
Prints a list of the valid options for this command. Sets the prompt for msh. If the string you specify includes white space, you must enclose it in double quotes ("). If you do not specify this option, the default prompt is (msh). The following defaults are used by msh: file defaults to -prompt (msh) DESCRIPTION
The command msh is an interactive program that implements a subset of the normal MH commands operating on a single file in packf format. That is, msh is used to read a file that contains a number of messages, as opposed to the standard MH style of reading a number of files, each file being a separate message in a folder. The chief advantage of msh is that, unlike the normal MH style, it allows a file to have more than one message in it. In addition, msh can be used on other files, such as message archives which have been packed using packf. When invoked, msh reads the named file, and enters a command loop. You can type most of the normal MH commands. The syntax and semantics of these commands typed to msh are identical to their MH counterparts. In cases where the nature of msh would be inconsistent with the way MH works (for example, specifying a +folder with some commands), msh will duly inform you. The commands that msh currently supports are: ali burst comp dist folder forw inc mark mhmail msgchk next packf pick prev refile repl rmm scan send show sortm whatnow whom In addition, msh has a help command which gives a brief overview of all the msh options. To terminate msh, either type <CTRL/D>, or use the quit command. If the file is writable and has been modified, then using quit will ask you if the file should be updated. A redirection facility is supported by msh. Commands may be followed by one of the following standard symbols: Open an interprocess chan- nel; connect output to another command. Write output to file. Append output to file. If file starts with a tilde (~), then a C-shell-like expansion takes place. Note that commands are interpreted by sh(1). When parsing commands to the left of any redirection symbol, msh will honor the backslash () as the quote next-character symbol, and dou- ble quotes (") as quote-word delimiters. All other input tokens are separated by white space (spaces and tabs). You may wish to use an alternative profile for the commands that msh executes; see mh_profile(4) for details of the $MH environment vari- able. RESTRICTIONS
The msh shell is not the C-shell, and a lot of the facilities provided by the latter are not present in the former. In particular, msh does not support back-quoting, history substitutions, variable substitutions, or alias substitutions. msh does not understand back-quoting. The only effective way to use pick inside msh is to always use the seq select option. If you add the following line to your pick will work equally well from both the shell and msh: pick: -seq select -list There is a strict limit of messages per file in packf format which msh can handle. Usually, this limit is 1000 messages. PROFILE COMPONENTS
Path: To determine your Mail directory Msg-Protect: To set protections when creating a new file fileproc: Program to file messages showproc: Program to show messages FILES
The user profile. The system customization file. SEE ALSO
csh(1), packf(1), sh(1), mh_profile(4) msh(1)
All times are GMT -4. The time now is 09:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy