04-09-2008
Quote:
Read the documentation for your shell. This construct removes the leading string after the # from the value, if present.
Suppose, the 'file' variable contains the following data:
file=/home/A/cppfiles/src
giving the command:
echo ${file#/home/A/} ==> cppfiles/src
do you mean this? Is this called "prune it off"?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
First, I'd like to know if being a shell programmer considered a "real" programmer. is it??
also, I do create a lot of shell programs which includes full scripts to create users and maintaining records. ie phone records.
now, I hear the programmer has to do some cleaning up after the... (3 Replies)
Discussion started by: IMPORTANT
3 Replies
2. Shell Programming and Scripting
This is shell programming assignment.
It needs to create a file called .std_dbrc contains
STD_DBROOT=${HOME}/class/2031/Assgn3/STD_DB
(which includes all my simple database files)
and I am gonna use this .std_dbrc in my script file (read the data from the database files)
like this: .... (3 Replies)
Discussion started by: ccwq
3 Replies
3. Shell Programming and Scripting
1.if
2.then
3. # save the number of args and first argument in variables.
4. num_args=$#
5. id="$1"
6. echo "$id"
7. #echo "$1" > crapfile.txt
8. echo `sed 's/\*/'\*'/g' < crapfile.txt`
Above is a partial code.I would like to ask:
at line 1:... (1 Reply)
Discussion started by: thungmail
1 Replies
4. Shell Programming and Scripting
I created a file named q2.c in /home/tuan/Desktop/Shell_programming. I coded a script named "test" to check whether the file existed or not. My code :
#!/bin/sh
submitDir=/home/tuan/Desktop/Shell_programming/submit
if
then
echo "There is no q2.c"
else
echo "There is q2.c"
fi
After... (3 Replies)
Discussion started by: thungmail
3 Replies
5. Shell Programming and Scripting
Hi i would like to write a "script" which takes a directory as an argument and the script will output the content of a file in this directory.Here is my code
#!/bin/sh
#set an argument to be a specified path
$1=/home/tuan/Desktop/Shell_programming/directory
#check if an argument is a... (3 Replies)
Discussion started by: thungmail
3 Replies
6. Shell Programming and Scripting
I have 2 different directories. The first has 2 sub-folders A and B. The second as 2 sub-folders C and D and script named "script".There is a code of "script" to list 2 sub-folders C and D
#!/bin/sh
for file in *
do && echo $file
done
I would like to ask how can I make a change if I... (2 Replies)
Discussion started by: thungmail
2 Replies
7. Shell Programming and Scripting
In folder A i have a file "a' and text file named infile00.I would like to do redirection :a<infile01.
There is a code to do this
#get a file "a" in /home/A
for file in /home/A/*
do
if $file ]
then
#printing out if file is an execute file
echo $file "is an... (2 Replies)
Discussion started by: thungmail
2 Replies
8. Shell Programming and Scripting
Hello all,
I am currently try to learn the linux operating system as well as some bash programming. I have come across some online course work which has been very helpful, I have been working through some assignments and since I have no teacher to ask I have come to you experts.
So the... (6 Replies)
Discussion started by: g2axiom
6 Replies
9. Shell Programming and Scripting
2- Write a bash shell script filestatic. The script should examine the number files in directories given as arguments (parameters) to this script.
a. if one argument is given, the script should count and report the number of files in this directory. Only regular files should be counted, not... (1 Reply)
Discussion started by: tahseen_22334
1 Replies
10. Homework & Coursework Questions
2- Write a bash shell script filestatic. The script should examine the number files in directories given as arguments (parameters) to this script.
a. if one argument is given, the script should count and report the number of files in this directory. Only regular files should be counted, not... (1 Reply)
Discussion started by: tahseen_22334
1 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)