Also interestingly when using 'dash' on OSX 10.12.3 default bash terminal:-
Code:
Last login: Tue Mar 14 18:32:20 on ttys000
AMIGA:amiga~> /usr/local/bin/dash
AMIGA:\u\w> echo '1\n2\n3\n4\n5' > /tmp/text
AMIGA:\u\w> hexdump -C /tmp/text
00000000 31 0a 32 0a 33 0a 34 0a 35 0a |1.2.3.4.5.|
0000000a
AMIGA:\u\w> /bin/echo '1\n2\n3\n4\n5' > /tmp/text
AMIGA:\u\w> hexdump -C /tmp/text
00000000 31 5c 6e 32 5c 6e 33 5c 6e 34 5c 6e 35 0a |1\n2\n3\n4\n5.|
0000000e
AMIGA:\u\w> exit
AMIGA:amiga~> _
Seems consistent with 'sh'.
I am going to have to be careful with this.
---------- Post updated at 07:39 PM ---------- Previous update was at 07:10 PM ----------
Quote:
Originally Posted by Corona688
'echo' is not consistent or portable between different shells. Sometimes you get newlines, sometimes you get \n, sometimes you only get newlines when you ask for them with echo -e, and sometimes you can't get newlines out no matter what you do (i.e. /bin/sh on solaris). Given OSX's nextstep/mach lineage, I'll wild-guess that their /bin/sh is meant to resemble an old Bourne from BSD.
printf is a lot more consistent.
I do know a few ideas but do not know if this would work in the Solaris situation you quoted.
This is longhand using 'dash' and '/bin/echo'...
You will have to take my word for the 'bold' as it does not copy and paste too well... ;o)
i am new to awk scripting. i couldn't figure out how this awk script works can anyone explain?
#!/bin/awk -f
{
for( x=1; x<=NF; ++x) {
if( x == 3 ) {
continue
}
print x, $x
}
}
thank you and regards (1 Reply)
I have gotten a gig to teach someone how to use a VPN client for a UNIX server on a MAC os. The problem is I have never used UNIX, dont mess with VPN's (my dad has a VPN that I have used a couple of times). I'm currently taking a crash course on UNIX but I was wondering if anyone could help me with... (0 Replies)
Hello, can anyone explain me please what do those lines do ?
From file .login
1) set history=40
2) setenv MACH `uname -s`
3) source /etc/login
4) source ~/$MACH/.login
From file .cshrc
1) if ( ! $?prompt) exit 0 (5 Replies)
Hi All,
i was reading up on a umask question on this forum and have a question on this.
the umask value on my home PC running on cygwin is 022. when i create a dir it defaults to permission 755, when i create a file it defaults to 644. Now it starts at 777 for dirs and 666 for files and... (1 Reply)
Hi,
First post here. I have something that may prove to be difficult.
I have the following files:
Example1.0.0.tar.gz
Example2.tar
Example3.zip
Example4.0.0.0.0.0.bzip2
I need to remove the file extensions and store as a variable so they look like this:
Example1.0.0
Example2... (3 Replies)
hello; Got a problem running monitoring scripts using sudo ssh.. Mgmt decided to take away root sudoers access.. so most of the scripts ran as:
sudo ssh $BOX ...
Now I need to run them as:
echo $my_pw | sudo -S -l my_user_id $BOX ...
I tried this but not working..
Any wisdom/tricks... (3 Replies)
Hi,
I'm running a rdt (run dot tcl) command, and come accross this line:
alias abc 'set ARGS =(\!*); source home123/abc/$ARGS/setup'
What does the command exactly do?
Please help. (6 Replies)
Ok, if youre reading this prepare yourself.(debian based os)
so im trying to do this routing with ip tables, i need to forward/SNAT traffic from 192.168.111.1 to 10.10.10.250, the 192.x.x.x ips are being shoved into a honeyd like program called inetsim so its offline, 10.10.10.125 is connected... (3 Replies)
Discussion started by: Shocco
3 Replies
LEARN ABOUT PHP
eval
EVAL(3) 1 EVAL(3)eval - Evaluate a string as PHP codeSYNOPSIS
mixed eval (string $code)
DESCRIPTION
Evaluates the given $code as PHP.
Caution
The eval(3) language construct is very dangerous because it allows execution of arbitrary PHP code. Its use thus is discouraged.
If you have carefully verified that there is no other option than to use this construct, pay special attention not to pass any user
provided data into it without properly validating it beforehand.
PARAMETERS
o $code
- Valid PHP code to be evaluated. The code mustn't be wrapped in opening and closing PHP tags, i.e. 'echo "Hi!";' must be passed
instead of '<? echo "Hi!"; >'. It is still possible to leave and reenter PHP mode though using the appropriate PHP tags, e.g.
'echo "In PHP mode!"; ?>In HTML mode!<? echo "Back in PHP mode!";'. Apart from that the passed code must be valid PHP. This
includes that all statements must be properly terminated using a semicolon. 'echo "Hi!"' for example will cause a parse error,
whereas 'echo "Hi!";' will work. A return statement will immediately terminate the evaluation of the code. The code will be exe-
cuted in the scope of the code calling eval(3). Thus any variables defined or changed in the eval(3) call will remain visible
after it terminates.
RETURN VALUES eval(3) returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. If there is a
parse error in the evaluated code, eval(3) returns FALSE and execution of the following code continues normally. It is not possible to
catch a parse error in eval(3) using set_error_handler(3).
EXAMPLES
Example #1
eval(3) example - simple text merge
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.';
echo $str. "
";
eval("$str = "$str";");
echo $str. "
";
?>
The above example will output:
This is a $string with my $name in it.
This is a cup with my coffee in it.
NOTES
Note
Because this is a language construct and not a function, it cannot be called using variable functions.
Tip
As with anything that outputs its result directly to the browser, the output-control functions can be used to capture the output of
this function, and save it in a string (for example).
Note
In case of a fatal error in the evaluated code, the whole script exits.
SEE ALSO call_user_func(3).
PHP Documentation Group EVAL(3)