Where can buy Learning the bash Shell Unix Shell Programming Third Edition Cameron Newham ebook with cheap price
Where can buy Learning the bash Shell Unix Shell Programming Third Edition Cameron Newham ebook with cheap price
com
https://ebookfinal.com/download/learning-the-bash-shell-
unix-shell-programming-third-edition-cameron-newham/
OR CLICK BUTTON
DOWNLOAD EBOOK
https://ebookfinal.com/download/pro-bash-programming-second-edition-
scripting-the-gnu-linux-shell-johnson/
ebookfinal.com
https://ebookfinal.com/download/learning-unix-for-os-x-going-deep-
with-the-terminal-and-shell-2nd-edition-dave-taylor/
ebookfinal.com
https://ebookfinal.com/download/ghost-in-the-shell-2nd-edition-
masamune-shirow/
ebookfinal.com
https://ebookfinal.com/download/kant-s-observations-and-remarks-a-
critical-guide-shell/
ebookfinal.com
SSH The Secure Shell The Definitive Guide 1st Edition
Daniel J. Barrett
https://ebookfinal.com/download/ssh-the-secure-shell-the-definitive-
guide-1st-edition-daniel-j-barrett/
ebookfinal.com
https://ebookfinal.com/download/ssh-the-secure-shell-the-definitive-
guide-second-edition-daniel-j-barrett/
ebookfinal.com
https://ebookfinal.com/download/harnessing-the-uefi-shell-moving-the-
platform-beyond-dos-second-edition-michael-rothman/
ebookfinal.com
https://ebookfinal.com/download/linux-command-line-and-shell-
scripting-bible-2nd-edition-richard-blum/
ebookfinal.com
https://ebookfinal.com/download/oral-culture-and-catholicism-in-early-
modern-england-1st-edition-alison-shell/
ebookfinal.com
1
Learning the bash Shell,
3rd Edition
Table of Contents
2
Preface
bash Versions
Summary of bash Features
Intended Audience
Code Examples
Chapter Summary
Conventions Used in This Handbook
We'd Like to Hear from You
Using Code Examples
Safari Enabled
Acknowledgments for the First Edition
Acknowledgments for the Second Edition
Acknowledgments for the Third Edition
1. bash Basics
3
1.1. What Is a Shell?
1.2. Scope of This Book
1.3. History of UNIX Shells
1.3.1. The Bourne Again Shell
1.3.2. Features of bash
1.6. Files
1.6.1. Directories
1.6.2. Filenames, Wildcards, and Pathname
Expansion
1.6.3. Brace Expansion
4
1.10. Help
2. Command-Line Editing
2.1. Enabling Command-Line Editing
2.2. The History List
2.3. emacs Editing Mode
2.3.1. Basic Commands
2.3.2. Word Commands
2.3.3. Line Commands
2.3.4. Moving Around in the History List
2.3.5. Textual Completion
2.3.6. Miscellaneous Commands
5
3.1. The .bash_profile, .bash_logout, and .bashrc
Files
3.2. Aliases
3.3. Options
3.3.1. shopt
6
4.1. Shell Scripts and Functions
4.1.1. Functions
5. Flow Control
5.1. if/else
5.1.1. Exit Status
5.1.2. Return
5.1.3. Combinations of Exit Statuses
5.1.4. Condition Tests
5.1.5. Integer Conditionals
5.2. for
5.3. case
5.4. select
5.5. while and until
7
6.1. Command-Line Options
6.1.1. shift
6.1.2. Options with Arguments
6.1.3. getopts
6.4. Arrays
8. Process Handling
8
8.1. Process IDs and Job Numbers
8.2. Job Control
8.2.1. Foreground and Background
8.2.2. Suspending a Job
8.3. Signals
8.3.1. Control-Key Signals
8.3.2. kill
8.3.3. ps
8.4. trap
8.4.1. Traps and Functions
8.4.2. Process ID Variables and Temporary
Files
8.4.3. Ignoring Signals
8.4.4. disown
8.4.5. Resetting Traps
8.5. Coroutines
8.5.1. wait
8.5.2. Advantages and Disadvantages of
Coroutines
8.5.3. Parallelization
8.6. Subshells
8.6.1. Subshell Inheritance
8.6.2. Nested Subshells
9
9.1. Basic Debugging Aids
9.1.1. Set Options
9.1.2. Fake Signals
9.1.3. Debugging Variables
10
11.1. What's That Do?
11.1.1. Comments
11.1.2. Variables and Constants
11.2. Starting Up
11.3. Potential Problems
11.4. Don't Use bash
A. Related Shells
11
A.1. The Bourne Shell
A.2. The IEEE 1003.2 POSIX Shell Standard
A.3. The Korn Shell
A.4. pdksh
A.5. zsh
A.6. Shell Clones and Unix-like Platforms
A.6.1. Cygwin
A.6.2. DJGPP
A.6.3. MKS Toolkit
A.6.4. AT&T UWIN
B. Reference Lists
B.1. Invocation
B.2. Prompt String Customizations
B.3. Built-In Commands and Reserved Words
B.4. Built-In Shell Variables
B.5. Test Operators
B.6. set Options
B.7. shopt Options
B.8. I/O Redirection
B.9. emacs Mode Commands
B.10. vi Control Mode Commands
C. Loadable Built-Ins
D. Programmable Completion
12
Learning the bash Shell,
3rd Edition
Cameron Newham
Copyright © 2009 O'Reilly Media, Inc.
13
Preface
The first thing users of the UNIX or Linux operating
systems come face to face with is the shell. "Shell" is the
UNIX term for a user interface to the system—something
that lets you communicate with the computer via the
keyboard and the display. Shells are just separate
programs that encapsulate the system, and, as such, there
are many to choose from.
14
bash Versions
This book is relevant to all versions of bash, although
older versions lack some of the features of the most
recent version.[1] You can easily find out which version
you are using by typing echo $BASH_VERSION. The
earliest public version of bash was 1.0, and the most
recent is 3.0 (released in July 2004). If you have an older
version, you might like to upgrade to the latest one.
Chapter 12 shows you how to go about it.
[1]
Throughout this book we have clearly marked with
footnotes the features that are not present in the earlier
versions.
15
Summary of bash
Features
bash is a backward-compatible evolutionary successor to
the Bourne shell that includes most of the C shell's major
advantages as well as features from the Korn shell and a
few new features of its own. Features appropriated from
the C shell include:
16
• Command-line editing, allowing you to use vi- or
emacs-style editing commands on your command
lines.
17
Intended Audience
This book is designed to address casual UNIX and Linux
users who are just above the "raw beginner" level. You
should be familiar with the process of logging in, entering
commands, and doing simple things with files. Although
Chapter 1 reviews concepts such as the tree-like file and
directory scheme, you may find that it moves too quickly
if you're a complete neophyte. In that case, we
recommend the O'Reilly handbook, Learning the UNIX
Operating System, by Jerry Peek, Grace Todino, and John
Strang.
18
commands during a login session) and shell
programming. We see shell programming as a natural,
inevitable outgrowth of increasing experience as a user.
19
Code Examples
This book is full of examples of shell commands and
programs designed to be useful in your everyday life as a
user, not just to illustrate the feature being explained. In
Chapter 4 and onwards, we include various programming
problems, which we call tasks, that illustrate particular
shell programming concepts. Some tasks have solutions
that are refined in subsequent chapters. The later chapters
also include programming exercises, many of which build
on the tasks in the chapter.
Feel free to use any code you see in this book and to pass
it along to friends and colleagues. We especially
encourage you to modify and enhance it yourself.
#!/bin/bash
20
Chapter Summary
If you want to investigate specific topics rather than read
the entire book through, here is a chapter-by-chapter
summary:
21
Chapter 5 continues the discussion of shell programming
by describing command exit status, conditional
expressions, and the shell's flow-control structures: if,
for, case, select, while, and until.
22
Chapter 11 discusses ways to make bash scripts more
maintainable.
23
Conventions Used in
This Handbook
We leave it as understood that when you enter a shell
command, you press RETURN at the end. RETURN is
labeled ENTER on some keyboards.
Italic
Used for UNIX filenames, commands not built into
the shell (which are files anyway), and shell
functions. Italic is also used for dummy parameters
that should be replaced with an actual value, to
distinguish the vi and emacs programs from their
bash modes, and to highlight special terms the first
time they are defined.
24
Bold
Used for bash built-in commands, aliases, variables,
and options, as well as command lines when they are
within regular text. Bold is used for all elements
typed in by the user within regular text.
Constant Width
Used in examples to show the contents of files or the
output from commands.
Constant Bold
Used in examples to show interaction between the
user and the shell; any text the user types in is shown
in Constant Bold. For example:$ pwd/home/
cam/adventure/carrol $
Constant Italic
Used in displayed command lines for dummy
parameters that should be replaced with an actual
value.
Square Brackets
Used in Chapter 2 to show the position of the cursor
on the command line being edited. For
example:grep -l Alice < ~cam/book/
[a]iw
25
We use UNIX as a shorthand for "UNIX and Linux."
Purists will correctly insist that Linux is not
UNIX—but as far as this book is concerned, they
behave identically.
26
We'd Like to Hear from
You
Please address comments and questions concerning this
book to the publisher:
http://www.oreilly.com/catalog/bash3
To comment or ask technical questions about this book,
send email to:
[email protected]
For more information about our books, conferences,
Resource Centers, and the O'Reilly Network, see our web
site at:
http://www.oreilly.com
27
Using Code Examples
This book is here to help you get your job done. In
general, you may use the code in this book in your
programs and documentation. You do not need to contact
us for permission unless you're reproducing a significant
portion of the code. For example, writing a program that
uses several chunks of code from this book does not
require permission. Selling or distributing a CD-ROM of
examples from O'Reilly books does require permission.
Answering a question by citing this book and quoting
example code does not require permission. Incorporating
a significant amount of example code from this book into
your product's documentation does require permission.
28
Safari Enabled
29
Acknowledgments for
the First Edition
This project has been an interesting experience and
wouldn't have been possible without the help of a number
of people. Firstly, I'd like to thank Brian Fox and Chet
Ramey for creating bash and making it the polished
product it is today. Thanks also to Chet Ramey for
promptly answering all of my questions on bash and
pointing out my errors.
30
Reynolds, Bill Rosenblatt, and Norm Walsh for taking
time out to go through the manuscript.
31
Acknowledgments for
the Second Edition
Thanks to all the people at O'Reilly. Gigi Estabrook was
the editor for the second edition. Nicole Gipson Arigo
was the production editor and project manager. Nancy
Wolfe Kotary and Ellie Fountain Maden performed
quality control checks. Seth Maislin wrote the index. Edie
Freedman designed the cover, and Nancy Priest designed
the interior format of the book. Lenny Muellner
implemented the format in troff. Robert Romano updated
the illustrations for the second edition.
32
Acknowledgments for
the Third Edition
Thanks to the production people at O'Reilly and to the
indexer.
33
Chapter 1. bash Basics
Since the early 1970s, when it was first created, the
UNIX operating system has become more and more
popular. During this time it has branched out into
different versions, and taken on such names as Ultrix,
AIX, Xenix, SunOS, and Linux. Starting on
minicomputers and mainframes, it has moved onto
desktop workstations and even personal computers used
at work and home. No longer a system used only by
academics and computing wizards at universities and
research centers, UNIX is used in many businesses,
schools, and homes. As time goes on, more people will
come into contact with UNIX.
34
Figure 1-1 shows the relationship between user, shell, and
operating system.
35
What Is a Shell?
The shell's job, then, is to translate the user's command
lines into operating system instructions. For example,
consider this command line:
36
Of course, each of these steps really involves several
substeps, each of which includes a particular instruction
to the underlying operating system.
37
Scope of This Book
In this book you will learn about bash, which is one of
the most recent and powerful of the major UNIX shells.
There are two ways to use bash: as a user interface and as
a programming environment.
This chapter and the next cover interactive use. These two
chapters should give you enough background to use the
shell confidently and productively for most of your
everyday tasks.
After you have been using the shell for a while, you will
undoubtedly find certain characteristics of your
environment (the shell's "look and feel") that you would
like to change, and tasks that you would like to automate.
Chapter 3 shows several ways of doing this.
You'll learn a lot about bash in this book; you'll also learn
about UNIX utilities and the way the UNIX operating
38
system works in general. It's possible to become a
virtuoso shell programmer without any previous
programming experience. At the same time, we've
carefully avoided going into excessive detail about UNIX
internals. We maintain that you shouldn't have to be an
internals expert to use and program the shell effectively,
and we won't dwell on the few shell features that are
intended specifically for low-level systems programmers.
39
History of UNIX Shells
The independence of the shell from the UNIX operating
system per se has led to the development of dozens of
shells throughout UNIX history—although only a few
have achieved widespread use.
The first major shell was the Bourne shell (named after its
inventor, Steven Bourne); it was included in the first
popular version of UNIX, Version 7, starting in 1979.
The Bourne shell is known on the system as sh. Although
UNIX has gone through many, many changes, the Bourne
shell is still popular and essentially unchanged. Several
UNIX utilities and administration features depend on it.
40
important features (e.g., aliases; see Chapter 3) that make
it easier to use in general.
41
1988. Brian Fox wrote the original versions of bash and
readline and continued to improve the shell up until 1993.
Early in 1989 he was joined by Chet Ramey, who was
responsible for numerous bug fixes and the inclusion of
many useful features. Chet Ramey is now the official
maintainer of bash and continues to make further
enhancements.
42
Features of bash
Although the Bourne shell is still known as the "standard"
shell, bash is becoming increasingly popular. In addition
to its Bourne shell compatibility, it includes the best
features of the C and Korn shells as well as several
advantages of its own.
43
[1]
The Korn shell can be downloaded for free but it
comes with a license that will require payment if the shell
is used in certain situations.
[2]
GNU is a recursive acronym, standing for "GNU's Not
UNIX."
44
Getting bash
You may or may not be using bash right now. Your
system administrator probably set your account up with
whatever shell he uses as the "standard" on the system.
You may not even have been aware that there is more
than one shell available.
Yet it's easy for you to determine which shell you are
using. Log in to your system and type echo $SHELL at
the prompt. You will see a response containing sh, csh,
ksh, or bash; these denote the Bourne, C, Korn, and bash
shells, respectively. (There's also a chance that you're
using another shell such as tcsh.)
If you aren't using bash and you want to, then you first
need to find out if it exists on your system. Just type
bash. If you get a new prompt consisting of some
information followed by a dollar sign (e.g., bash3 $ ),
then all is well; type exit to go back to your normal shell.
45
Once you know you have bash on your system, you can
invoke it from whatever other shell you use by typing
bash as above. However, it's much better to install it as
your login shell, i.e., the shell that you get automatically
whenever you log in. You may be able to do the
installation by yourself. Here are instructions that are
designed to work on the widest variety of UNIX systems.
If something doesn't work (e.g., you type in a command
and get a "not found" error message or a blank line as the
response), you'll have to abort the process and see your
system administrator. Alternatively, turn to Chapter 12
where we demonstrate a less straightforward way of
replacing your current shell.
% chsh /usr/local/bin/bash
46
in your password, then log out and log back in again to
start using bash.
[3]
Make sure you use the correct quotation mark in this
command: ' rather than `.
[4]
For system security reasons, only certain programs are
allowed to be installed as login shells.
47
Interactive Shell Use
When you use the shell interactively, you engage in a
login session that begins when you log in and ends when
you type exit or logout or press CTRL-D. [5] During a
login session, you type in command lines to the shell;
these are lines of text ending in RETURN that you type in
to your terminal or workstation.
48
lp treats myfile as the name of a file to print. Arguments
are often names of files, but not necessarily: in the
command line mail cam, the mail program treats cam as
the username to which a message will be sent.
[5]
The shell can be set up so that it ignores a single
CTRL-D to end the session. We recommend doing this,
because CTRL-D is too easy to type by accident. See the
section on options in Chapter 3 for further details.
49
Files
Although arguments to commands aren't always files,
files are the most important types of "things" on any
UNIX system. A file can contain any kind of information,
and indeed there are different types of files. Three types
are by far the most important:
Regular files
Also called text files; these contain readable
characters. For example, this book was created from
several regular files that contain the text of the book
plus human-readable formatting instructions to the
troff word processor.
Executable files
Also called programs; these are invoked as
commands. Some can't be read by humans;
others—the shell scripts that we'll examine in this
book—are just special text files. The shell itself is a
(non-human-readable) executable file called bash.
Directories
These are like folders that contain other
files—possibly other directories (called
subdirectories).
50
Exploring the Variety of Random
Documents with Different Content
“I will open it,” said the chief. “The paper shall be removed and
destroyed at once.”
He examined the ball closely and then pressed hard on a certain
spot. Immediately it flew open in his hands!
Then there was a cry of anger and fury from the lips of the man.
“A thousand fiends!” he shouted. “It is empty!”
The hollow ball did not contain the torn paper they had expected
to find!
“Empty?” gasped the others.
“Yes! It has been opened, and the paper has been removed!”
The captive bound to the pillar laughed. They turned on him in
fury.
“You found the way to open the ball, and you removed the paper!”
snarled the chief. “Tell us where it is, you American meddler!”
“You are entirely wrong,” coolly said Frank. “I am certain the ball
has not been opened since it came into my possession, and I know
nothing of the paper it contained.”
“Don’t lie!”
“I am not lying.”
“What shall we do with him, brothers?” asked the chief.
There was a sudden swishing ring of steel, and seven bright
swords came leaping from their scabbards into the hands of their
owners.
“We must destroy him!” said the hooded band.
Seven swords were pointed at Frank’s breast.
“For the honor of France he must die!” declared the chief. “When I
have counted to three, each man shall plunge his sword through the
captive’s body!”
He was not given an opportunity to count. There came a sudden
thundering and hammering at the door. Then there was a summons
to open in the name of France.
“The gendarmes!” gasped the Black Brothers. “They have tracked
us here! They have located us at last!”
Bang! bang! bang!
The hammering at the door was furious and terrible.
Crash!—the door was falling!
In a moment the seven members of the murderous band took to
flight, escaping from the cellar by the other door, and when the
officers came swarming down the stairs, they found no one to
arrest, but were greeted politely and cheerfully by the young
American who stood with his back bound against a pillar in the
middle of the cellar.
CHAPTER XV.
ANOTHER WARNING.
MADEMOISELLE NAMELESS.
Both lads were surprised, not to say startled. She saw this plainly,
and laughed softly, fluttering a jeweled fan.
“You are Americans,” she said positively. “You are not accustomed
to some things you find in Paris.”
“That is very true,” murmured Jack Diamond, a frown on his face.
Frank lay back in his chair and studied the woman. He saw she
had a beautiful neck and chin, while there was something strangely
fascinating about the eyes seen through the twin holes in the mask.
They were coal-black, like her hair, and seemed forever in motion.
When the woman’s lips parted, she showed two rows of pearly
teeth.
“How do you think I know you are Americans?” she asked.
“Give it up,” said Diamond.
“I know—I read it in your face. I can read other things there. I
read that you are friends—very great friends.”
“Astonishing!” said Jack, with mild sarcasm, while Frank continued
to keep silent.
The woman turned on Merry.
“You are so still all at once! You suspect something—me? Ha! ha!
ha! Because I wear this mask? Oh, no, no! Why, I can do that here.
No one minds it. They know me. I tell them their fortunes. All have
heard me. You want me to tell your fortune—yes?”
She leaned forward, seeming to peer more closely into Frank’s
face.
“Your past is all written there,” she declared. “I see it plain. In
America, though young, already you are famous. It is wonderful! No
man as young as you has ever become so famous in America. You
are known all over the land, and there all young men long to be like
you.”
Frank smiled.
“I fear you are given to exaggeration and flattery,” he said.
She shook her head.
“I speak the truth as I read it. Is it not true?”
She turned in her appeal to Jack. The Virginian remembered how
famous Frank had become in a short time, and he said:
“To some extent it is true, but it’s an easy guess.”
The woman shrugged her shapely shoulders and fluttered her fan.
“Oh, not so easy!” she exclaimed. “I have but begun. When I am
done, say I am an impostor—if you can.”
“I beg your pardon,” came quietly from Frank; “I must tell you
honestly that I take no stock in the mummery of fortune-telling. I do
not wish to seem rude, but you are interrupting——”
“I know; still you will thank me when I am done. I am going to tell
you of the terrible dangers you have been in, of the deadly perils to
come, and how you may escape them. This night you have been in
danger! This night you have been close to death! You escaped by a
miracle.”
“Where were you that you learned so much?”
“I read it in your face, but the stars tell me many things. To-night
the stars have told me of you, Frank Merriwell.”
She knew his name!
Frank’s interest increased swiftly, and she laughed as she saw it.
“I knew you would listen,” she declared. “No one refuses to listen
to me.”
“You must have been listening to our conversation,” said Diamond.
Again she shrugged her shoulders.
“I do not need to do that. I heard some words just when I came
up. I heard you speak of Dreyfus, the traitor. But I did not need that
to tell me you were interested in him. You hope to see him free
again.”
“As hope thousands of good citizens of France.”
“No; they are not good citizens! But why argue! It was not for that
I sat here. I was tired, and I needed amusement. It would amuse
me to astonish you by reading your fortune. Monsieur Merriwell was
warned of his danger. He might have escaped it, but he chose not to
do so. He came near losing his life. If he heeds not the warning he
has received, he will yet lose his life.”
“How do you know so much?” cried Jack.
“You must be connected with the Anti-Dreyfus League,” muttered
Frank.
She shook her head.
“It is not well for a foreigner to come to France and have so much
knowledge. It is not fortunate for him if he meets wrong ones and
takes too much interest in Dreyfus, the Jew. It may be thought he
has come to France for that very reason, and then his peril shall be
great, for hundreds of good men have sworn to protect the honor of
France with their very lives.”
“Who are you that knows so much?” asked Frank sharply.
“I am called Mademoiselle Nameless.”
“Nameless?” muttered Jack, instantly thinking of the man who
called himself “Mr. Noname.”
“Yes, I am called that, and it is enough for you to know me by
that name.”
“Why do you refuse to tell us your true name?” asked Merry.
“My true name is something I tell nobody.”
“Then remove your mask and show your face.”
She drew back.
“If I see fit to warn you of your great danger, and still keep my
face concealed, I have a right.”
“You cannot explain how it is you know so much.”
“The stars conceal nothing from Mademoiselle Nameless.”
“You cannot make a level-headed American take stock in such
trash.”
“It matters little. You must know I have told you nothing but the
truth. There is but one thing for you to do, Frank Merriwell. You have
been marked for death, and there is but one way to escape.”
“How is that?”
“Abandon everything and fly from France without delay.”
“Like a cowardly cur!” exclaimed Merry. “No, thank you!”
“Beware!”
“If I am murdered, it will simply be another human life added to
the list set against the wretches who are exerting every power to
keep an innocent man on Devil’s Island. I know all about the time-
limit, and I have yet several days left before the murderous band will
carry their threat into full execution.”
“You cannot be sure of that.”
“It has been thus with others.”
“But you have lifted your hands against those who seek to protect
the honor of France.”
“I’ve simply tried to expose the human whelps who seek to
murder me!”
“It is enough. By that you have added to the peril that besets you.
At any time destruction may swoop down upon you. Heed my
warning. Fly from France!”
“Oh, I rather think you are making this thing much worse than it
really is.”
“Not the least.”
“If I am slain by the Black Brothers, I have friends who will take
my place in the work of hunting the dastardly band down.”
“There will be no proof that you are slain by them. Remember
how others have fallen. There were no marks of violence on them.
The thought should chill your heart with terror. I tell you to go,
Monsieur Merriwell. I beg you to go. It is your only way to escape
death. You must listen to me.”
She leaned on the table, all eagerness and excitement, her eyes
dancing. Somehow those eyes made Frank think of a snake. They
seemed to fascinate him.
“Tell me why you are so eager for me to go?” he asked.
“I cannot tell you, save that I am earnest, for I know what it
means to you. Promise me you will drop this Dreyfus affair and leave
the country. If you do that, your life may be spared. If you do not
promise, your doom is sealed, and death may swoop down on you at
any moment.”
“It is remarkable that you should know so much about me, a
stranger, and take so much interest in me. I believe you must
somehow get close to the Black Brothers. Can you deny it?”
“I deny nothing!” she proudly cried. “You may think what you like!
I have warned you. Once, for the last time, I tell you your doom is
sealed!”
She had closed her fan, and now she leaned across the table,
reaching as if she would tap Frank on the wrist with it, by the way of
emphasis. It was his left wrist she attempted to touch with the fan.
And he had no warning thrill to tell him of the frightful peril that
was so near.
A hand came down over the woman’s shoulder, grasped her wrist,
held it! Another hand snatched that fan from her grasp before it had
touched Frank Merriwell!
“Even the rattlesnake gives warning before striking!” said a deep,
well-known voice.
“Mr. Noname!” exclaimed Frank.
It was the Mystery who had suddenly appeared and snatched the
fan from the woman’s hand.
“Mr. Noname and Mademoiselle Nameless!” murmured Jack
Diamond, looking from one to the other. “Which is the greater
mystery?”
The woman had fallen back in her chair, and she was staring at
the Mystery through the twin holes in her sable mask, her bosom
rising and falling tumultuously. The Man Without a Name fixed her
with a steady, piercing, accusing look. There was horror and
condemnation in his gaze, and she seemed to feel it.
“When the enemies of Dreyfus are forced to get a woman to do
their wretched work of murder, they have fallen pretty low!” said the
man, with deep contempt.
“Murder?” came from Frank.
“What does he mean?” gasped Jack.
The woman seemed to force a laugh from her lips, which had
grown colorless beneath their rouge.