Sponsored Content
Full Discussion: shell magic number with a -
Top Forums Shell Programming and Scripting shell magic number with a - Post 77444 by blowtorch on Friday 8th of July 2005 10:45:10 AM
Old 07-08-2005
To answer the first question, this is to disable the option processing by sh. This means that if you pass any arguments to the script, sh will not try to interpret them itself, but will treat them as arguments.

To quote the BSD sh manual,
Quote:
Originally Posted by BSD sh manual
A ``--'' or plain ``-'' will stop option processing and will
force the remaining words on the command line to be treated as arguments.
In the case of your second question, the script does not run as './unix.run' because you are trying to 'execute' a file that is not executable (no x bits are set). With 'sh ./unix.run' the binary '/usr/bin/sh' is executed and the unix.run script is passed to it as arguments.

Cheers!

P.S. BTW, the magic number only comprises the first 2 or 3 (both are legal) bytes in the file. The rest of the line tells the kernel what is to be used to interpret the rest of the file.

Last edited by blowtorch; 07-08-2005 at 11:47 AM.. Reason: an aside about the magic number
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

bad magic number

Hi, when installing a piece of third part software I get the error "Bad magic number" at one point when it tries to use libraries from the bea tuxedo server. Am I correct that this means that the software is expecting 32bit while I'm on 64bit? Is there a way around it or can it only be solved... (5 Replies)
Discussion started by: rein
5 Replies

2. Filesystems, Disks and Memory

Bad Magic Number

Dear All, i have a SCSI hard disk drive i'm installing on it solaris 5 and the workstation is sun sparc, i made an image of this H.D using Norton Ghost 6, so i took off the SCSI H.D from the sun workstation and put it on a Compaq server then i booted the server from the Norton Ghost floppy disk... (0 Replies)
Discussion started by: wesweshahaha
0 Replies

3. Filesystems, Disks and Memory

LVM magic number 0x4D48

LVM partition(8e type) begins with a magic number(0x4D48) - HM, At this sector, I get the name of volume group plus two three more structures, which I am unable to decipher. So, if anyone can let me know the details of these structures. In my case, I had made two logical volumes in my LVM... (2 Replies)
Discussion started by: ghimanshu
2 Replies

4. Solaris

wrong magic number

/pci@if,0/pci@1,1/ide@3/dad@0,0 corrupt label wrong magic number can u plz suggustion me (6 Replies)
Discussion started by: tirupathi
6 Replies

5. Solaris

BAD magic number in disc label...

Hello All, I m very new to this forum. i m having SUN NETRA X1 server with 40 GB HDD (Seagate) & 128 MB RAM. i m trying this server for SUN 10 Practise. As i m installing SUN 9 /10 with CD ,its giving me error after OK propmt *************************** #boot cdrom or #boot cdrom... (16 Replies)
Discussion started by: amrut_k
16 Replies

6. UNIX for Dummies Questions & Answers

Solaris magic number problem

Hello, When I boot up my ancient SUNOS 5 system. it stops at the OK prompt and complains about a bad magic number. I have told that I need run fsck but I cannot seem to do so from the OK prompt. How can I get into a diagnostic mode so I can run fsck? Thanks, (1 Reply)
Discussion started by: mojoman
1 Replies

7. AIX

module has an invalid magic number

Hello everybody: I have a trouble running an application which connects to an Oracle server, I got this message: Dependent module /opt/oracle/product/10.2/lib/libclntsh.so could not be loaded. The module has an invalid magic number. Running ldd MyApp doesn't report missing symbols, I've... (1 Reply)
Discussion started by: edgarvm
1 Replies

8. Solaris

Solaris 8.2 Bad magic number

I'll keep it fairly straight forward. I work with a Solaris server and magically today it decided to take a dump on me. At first it give a long list of files that couldn't be acessed before terminating the boot process and returning to the 'ok' prompt. Booting in single-user mode allowed me to run... (4 Replies)
Discussion started by: Aon
4 Replies

9. Solaris

Bad magic number error

So we have a new to us v240 server with no OS installed. It has an outdated version of OB and ALOM so before we install the OS we want to update both. We have a DVD with the latest OB patch burned on it. We do the boot cdrom command but receive the Bad Magic Number Error. Does an OS need to... (2 Replies)
Discussion started by: dunkpancakes
2 Replies

10. Solaris

Magic number error

hi . my " /usr " was full ,so i went into the failsafe mode in solaris 10 and used format utilily to adjust space for it and labeled it. But after that whenever i try to boot solaris normally ,it is giving "magic number error" I tried fsck -o b=32 /dev/dsk/c0d0s6 (for /usr) newfs -N... (6 Replies)
Discussion started by: tushardul
6 Replies
SHELL-QUOTE(1)						User Contributed Perl Documentation					    SHELL-QUOTE(1)

NAME
shell-quote - quote arguments for safe use, unmodified in a shell command SYNOPSIS
shell-quote [switch]... arg... DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands or files with embedded white space or shell globbing characters safely. Here are a few examples. EXAMPLES
ssh preserving args When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and passes them to "$SHELL -c". This doesn't work as intended: ssh host touch 'hi there' # fails It creates 2 files, hi and there. Instead, do this: cmd=`shell-quote touch 'hi there'` ssh host "$cmd" This gives you just 1 file, hi there. process find output It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote: eval set -- `find -type f -print0 | xargs -0 shell-quote --` debug shell scripts shell-quote is better than echo for debugging shell scripts. debug() { [ -z "$debug" ] || shell-quote "debug:" "$@" } With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can. save a command for later shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are things the user can't pass through), you can do something like this: user_switches= while [ $# != 0 ] do case x$1 in x--pass-through) [ $# -gt 1 ] || die "need an argument for $1" user_switches="$user_switches "`shell-quote -- "$2"` shift;; # process other switches esac shift done # later eval "shell-quote some-command $user_switches my args" OPTIONS
--debug Turn debugging on. --help Show the usage message and die. --version Show the version number and exit. AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions. AUTHOR
Roderick Schertler <roderick@argon.org> perl v5.16.3 2010-06-11 SHELL-QUOTE(1)
All times are GMT -4. The time now is 10:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy