Sponsored Content
Full Discussion: fun scripts
The Lounge What is on Your Mind? fun scripts Post 302308178 by quirkasaurus on Friday 17th of April 2009 10:02:17 AM
Old 04-17-2009
Quote:
Originally Posted by Ikon
This is an old one.

At a job interview this was a script I had to explain.

Code:
:(){ :|:& };:

Oh. Just reading it, I'd say this:

Looks like a function declaration with an invalid name, the colon NOP command.

Then it pipes the output of the NOP command to another NOP command
and sticks it in the background.

The {} delimit the function declaration.

The ; is the command separator.

And the final : is just a NOP again.
 

7 More Discussions You Might Find Interesting

1. News, Links, Events and Announcements

Fun with FreeBSD

Fun With Automounting on FreeBSD Link: Nice tips for FreeBSD Unix. http://ezine.daemonnews.org/200202/automounting.html (2 Replies)
Discussion started by: killerserv
2 Replies

2. UNIX for Dummies Questions & Answers

fun with tar

ok, i've figured out my problem with distributed, in Solaris GUI if you click on a tar file it will untar it for you, using paramiters I don't know. now, I've got a tar file in / called dnetc-solaris26-x86.tar i want to install it to the "/Veitch" directory how exactly do I use the tar... (17 Replies)
Discussion started by: veitcha
17 Replies

3. UNIX for Advanced & Expert Users

like to have fun in terminal

Hai Friends I have installed FreeBSD in my system... I have installed it to work in text mode don't have the GUI. The default text color is Black background with White Foreground. I want it to be with Black background with Green Foreground. How could i do that. Thanks in advance Collins (4 Replies)
Discussion started by: collins
4 Replies

4. Shell Programming and Scripting

Fun with awk

uggc://ra.jvxvcrqvn.bet/jvxv/EBG13 #!/usr/bin/awk -f BEGIN { for (n=0;n<26;n++) { x=sprintf("%c",n+65); y=sprintf("%c",(n+13)%26+65) r=y; r=tolower(y) } } { b = "" for (n=1; x=substr($0,n,1); n++) b = b ((y=r)?y:x) print b } ... (0 Replies)
Discussion started by: colemar
0 Replies

5. Shell Programming and Scripting

More fun with awk

#!/usr/bin/ksh ls -l $@ | awk ' /^-/ { l = 5*log($5) h = sprintf("%7d %-72s",$5,$8) print "\x1B ls command with histogram of file sizes. The histogram scale is logaritmic, to avoid very short bars for smaller files or very long bars for bigger files. Screenshot: (4 Replies)
Discussion started by: colemar
4 Replies

6. What is on Your Mind?

Fun things to put in comments in scripts?

Approaching the end of my portion of some STIG/DOD compliance automation and I was challenged by a co-worker to include a story in my code. There are blocks of code that need to be kept the way they are for GIT/Gerrit and then compliance, but otherwise I changed out all the comments into a... (2 Replies)
Discussion started by: Vryali
2 Replies

7. War Stories

Following Cables for Fun!

Hi Folks, I came accross this picture taken a number of years ago now, I just thought I'd share it with you guys. We were in the process of removing equipment from the Data Centre and had followed the cable through to this area, where one of the old patch areas had been. When we lifted the... (2 Replies)
Discussion started by: gull04
2 Replies
funparamput(3)							SAORD Documentation						    funparamput(3)

NAME
FunParamPut - put a Funtools param value SYNOPSIS
#include <funtools.h> int FunParamPutb(Fun fun, char *name, int n, int value, char *comm, int append) int FunParamPuti(Fun fun, char *name, int n, int value, char *comm, int append) int FunParamPutd(Fun fun, char *name, int n, double value, int prec, char *comm, int append) int FunParamPuts(Fun fun, char *name, int n, char *value, char *comm, int append) DESCRIPTION
The four routines FunParamPutb(), FunParamPuti(), FunParamPutd(), and FunParamPuts(), will set the value of a FITS header parameter as a boolean, int, double, and string, respectively. The first argument is the Fun handle associated with the FITS header being accessed. Normally, the header is associated with the FITS extension that you opened with FunOpen(). However, you can use FunInfoPut() to specify that use of the primary header. In particular, if you set the FUN_PRIMARYHEADER parameter to 1, then the primary header is used for all parameter access until the value is reset to 0. For example: int val; FunParamPuti(fun, "NAXIS1", 0, 10, NULL, 1); # current header val=1; FunInfoPut(fun, FUN_PRIMARYHEADER, &val, 0); # switch to ... FunParamPuti(fun, "NAXIS1", 0, 10, NULL, 1); # primary header (You also can use the deprecated FUN_PRIMARY macro, to access parameters from the primary header.) The second argument is the name of the parameter. ( In accordance with FITS standards, the special names COMMENT and HISTORY, as well as blank names, are output without the "= " value indicator in columns 9 and 10. The third n argument, if non-zero, is an integer that will be added as a suffix to the parameter name. This makes it easy to use a simple loop to process parameters having the same root name. For example, to set the values of TLMIN and TLMAX for each column in a binary table, you can use: for(i=0; i<got; i++){ FunParamPutd(fun, "TLMIN", i+1, tlmin[i], 7, "min column val", 1); FunParamPutd(fun, "TLMAX", i+1, tlmax[i], 7, "max column val", 1); } The fourth defval argument is the value to set. Note that the data type of this argument is different for each specific FunParamPut() call. The comm argument is the comment string to add to this header parameter. Its value can be NULL. The final append argument determines whether the parameter is added to the header if it does not exist. If set to a non-zero value, the header parameter will be appended to the header if it does not exist. If set to 0, the value will only be used to change an existing parameter. Note that the double precision routine FunParamPutd() supports an extra prec argument after the value argument, in order to specify the precision when converting the double value to ASCII. In general a 20.[prec] format is used (since 20 characters are alloted to a floating point number in FITS) as follows: if the double value being put to the header is less than 0.1 or greater than or equal to 10**(20-2-[prec]), then %20.[prec]e format is used (i.e., scientific notation); otherwise %20.[prec]f format is used (i.e., numeric nota- tion). As a rule, parameters should be set before writing the table or image. It is, however, possible to update the value of an existing parame- ter after writing an image or table (but not to add a new one). Such updating only works if the parameter already exists and if the output file is seekable, i.e. if it is a disk file or is stdout being redirected to a disk file. It is possible to add a new parameter to a header after the data has been written, but only if space has previously been reserved. To reserve space, add a blank parameter whose value is the name of the parameter you eventually will update. Then, when writing the new param- eter, specify a value of 2 for the append flag. The parameter writing routine will first look to update an existing parameter, as usual. If an existing parameter is not found, an appropriately-valued blank parameter will be searched for and replaced. For example: /* add blank card to be used as a place holder for IPAR1 update */ FunParamPuts(fun, NULL, 0, "IPAR1", "INTEGER Param", 0); ... /* write header and data */ FunTableRowPut(fun, events, got, 0, NULL); ... /* update param in file after writing data -- note append = 2 here */ FunParamPuti(fun, "IPAR", 1, 400, "INTEGER Param", 2); The parameter routines return a 1 if the routine was successful and a 0 on failure. In general, the major reason for failure is that you did not set the append argument to a non-zero value and the parameter did not already exist in the file. SEE ALSO
See funtools(7) for a list of Funtools help pages version 1.4.2 January 2, 2008 funparamput(3)
All times are GMT -4. The time now is 05:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy