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
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
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 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
/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
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
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
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
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
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
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
LEARN ABOUT CENTOS
shell-quote
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)