11-04-2008
Quote:
Originally Posted by
msb65
Hi cfajohnson,
- I appreciate the response. Could you please expand on your statement that shopt -s nullglob is not standard? What do you mean exactly?
It only works in bash.
Quote:
- Also, is the purpose of the code that you have written inside the for loop to eliminate the error message that occurs when one of the patterns is not matched?
Exactly. It acheives the same effect as shopt -s nullglob, but will work in all Bourne-type shells.
3 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am using bash shell's extended pattern matching.
What tweak the following code needs in order to get the expected output?
shopt -s extglob
f="a@b@_c@d@_e"
echo "${f/@(@|@_)/__}"
My expected output is:
a__b__c__d__e
but the actual output is:
a__b@_c@d@_e
# that is, how to... (3 Replies)
Discussion started by: royalibrahim
3 Replies
2. Shell Programming and Scripting
I have a script that start out with this:
#!/sbin/sh
Several things run.
However I cannot get:
shopt -s nullglob
to run in Bourne. I get:
shopt: not found
So within the main script (after #!/sbin/sh at the top) I start bash with:
bash
and try to run what I need with:
shopt -s... (2 Replies)
Discussion started by: crowman
2 Replies
3. UNIX for Advanced & Expert Users
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)
Discussion started by: cokedude
3 Replies
LEARN ABOUT FREEBSD
atf-sh
ATF-SH(1) BSD General Commands Manual ATF-SH(1)
NAME
atf-sh [-s shell] -- interpreter for shell-based test programs
SYNOPSIS
atf-sh script
DESCRIPTION
atf-sh is an interpreter that runs the test program given in script after loading the atf-sh(3) library.
atf-sh is not a real interpreter though: it is just a wrapper around the system-wide shell defined by ATF_SHELL. atf-sh executes the inter-
preter, loads the atf-sh(3) library and then runs the script. You must consider atf-sh to be a POSIX shell by default and thus should not
use any non-standard extensions.
The following options are available:
-s shell Specifies the shell to use instead of the value provided by ATF_SHELL.
ENVIRONMENT
ATF_LIBEXECDIR Overrides the builtin directory where atf-sh is located. Should not be overridden other than for testing purposes.
ATF_PKGDATADIR Overrides the builtin directory where libatf-sh.subr is located. Should not be overridden other than for testing purposes.
ATF_SHELL Path to the system shell to be used in the generated scripts. Scripts must not rely on this variable being set to select a
specific interpreter.
EXAMPLES
Scripts using atf-sh(3) should start with:
#! /usr/bin/env atf-sh
Alternatively, if you want to explicitly choose a shell interpreter, you cannot rely on env(1) to find atf-sh. Instead, you have to hardcode
the path to atf-sh in the script and then use the -s option afterwards as a single parameter:
#! /path/to/bin/atf-sh -s/bin/bash
ENVIRONMENT
ATF_SHELL Path to the system shell to be used in the generated scripts.
SEE ALSO
atf-sh(3)
BSD
September 27, 2014 BSD