09-23-2008
Results of testing the two suggestions presented
This is the results of testing the two suggestions presented so far.
(I hope this is not a double post. I posted this earlier but it never appeared in the forum...)
As long as the exact block is entered into the script, all of the methods below will copy the old file (with the backslash) to the new file.
NONE of them will work when the oldname variable is read from the directory or passed from the "for loop" -- even when oldname is EXACTLY the same as any of the text assigned to oldname variables below.
oldname=junk\\junk.txt
newname=junkjunk.txt
cp $oldname $newname
The the above works WITHOUT quotes OR with
double quotes ONLY, on either or both variables
oldname="junk\junk.txt"
newname=junkjunk.txt
cp ${oldname/\/\\} $newname
oldname="junk\junk.txt"
newname=junkjunk.txt
cp $oldname $newname
In the TWO examples above, oldname MUST be quoted, with single OR double quotes,
AND newname MAY or MAY NOT be quoted with single OR double quotes.
-----------
Does this make any sense to anyone. I can not see how the bash shell could distinguish between a variable created inside the script, from data inside the script AND a variable created inside the script from identical text passed in from outside the script.
The only thing I can think of is that I am reading in the filenames to the variable through a pipe and that starts a sub-process which might fold, spindle or mutilate the variable in some manner that causes this problem.
I am leaving the country for a week in about 36 hours. If I have time I will rework the script to where the file list is imported without using a pipe and see if that changes how the variables react.
If anyone has any other ideas I would appreciate hearing them.
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi I am going to migrate our datawarehouse system from HP Tru 64 Unix to the Red Hat Linux.
Inside the box, it is running around 40 cron jobs; inside each cron job, it is calling other shell script files, and the shell script files may again call other shell script files or ctl files(for... (1 Reply)
Discussion started by: franksubramania
1 Replies
2. Shell Programming and Scripting
Dear other forum members,
I'm writing a script for my homework, but I'm scratching all over my head and still can't figure out what I did wrong. Please help me. I just started to learn about bash scripting, and I appreciate if anyone of you can point out my errors. I thank you in advance.
... (3 Replies)
Discussion started by: ilove2smoke
3 Replies
3. Shell Programming and Scripting
I am trying to FTP files to a Windows server through my Linux machine. I have setup the file transfer with no problems but am having problem deleting those files from the Linux box. My current non-working solution is below. Any ideas, anyone?? :wall: Please be gentle, I'm fairly new to this... (4 Replies)
Discussion started by: jmalfhs
4 Replies
4. Shell Programming and Scripting
Hi,
I am new to shell scripting.Please help me on this.I am using solaris 10 OS and shell i am using is
# echo $0
-sh
My requirement is i have source file say makefile.I need to extract files with extensions (.c |.cxx |.h |.hxx |.sc) from the makefile.after doing so i need to check whether... (13 Replies)
Discussion started by: muraliinfy04
13 Replies
5. Shell Programming and Scripting
I am new to Shell Scripting and need some help.
The following batch job has been failing for me due to the .nfsxxx files in use. I need to know how to modify the following script to exclude the .nfsxxx files so this batch job will not fail on me. I have done lots of googling and keep coming back... (2 Replies)
Discussion started by: kimberlyg2007
2 Replies
6. Shell Programming and Scripting
HI,
I am trying to implement a simple shell script program that does not make use of ls or find commands as they are quite expensive on very large sets of files. So, I am trying to generate the file list myself. What I am trying to do is this:
1. Generate a file name using shell script, for... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies
7. Shell Programming and Scripting
#!/bin/bash
#
name=$1
type=$2
number=1
for file in ./**
do
if
then
filenumber=00$number
elif
then
filenumber=0$number
fi
tempname="$name""$filenumber"."$type"
if (4 Replies)
Discussion started by: TheGreatGizmo
4 Replies
8. Shell Programming and Scripting
Hi,
Can anyone help me how to convert a .csv file to a .pdf file using shell script
Thanks (2 Replies)
Discussion started by: ssk250
2 Replies
9. Shell Programming and Scripting
Hi,
In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this?
I am using #!/bin/ksh
For eg: sftp user@host <<EOF
cd /path
get *.txt
rename *.txt *.txt.done
... (7 Replies)
Discussion started by: jhilmil
7 Replies
10. Shell Programming and Scripting
Hi,
Very good wishes to all!
Please help to provide the shell script for generating the record counts in filed wise from the .csv file
My question:
Source file:
Field1 Field2 Field3
abc 12f sLm
1234 hjd 12d
Hyd 34
Chn
My target file should generate the .csv file with the... (14 Replies)
Discussion started by: Kirands
14 Replies
LEARN ABOUT OSX
osacompile
OSACOMPILE(1) BSD General Commands Manual OSACOMPILE(1)
NAME
osacompile -- compile AppleScripts and other OSA language scripts
SYNOPSIS
osacompile [-l language] [-e command] [-o name] [-d] [-r type:id] [-t type] [-c creator] [-x] [-s] [-u] [-a arch] [file ...]
DESCRIPTION
osacompile compiles the given files, or standard input if none are listed, into a single output script. Files may be plain text or other
compiled scripts. The options are as follows:
-l language
Override the language for any plain text files. Normally, plain text files are compiled as AppleScript.
-e command
Enter one line of a script. Script commands given via -e are prepended to the normal source, if any. Multiple -e options may be given
to build up a multi-line script. Because most scripts use characters that are special to many shell programs (e.g., AppleScript uses
single and double quote marks, ``('', ``)'', and ``*''), the command will have to be correctly quoted and escaped to get it past the
shell intact.
-o name
Place the output in the file name. If -o is not specified, the resulting script is placed in the file ``a.scpt''. The value of -o
partly determines the output file format; see below.
-x Save the resulting script as execute-only.
The following options are only relevant when creating a new bundled applet or droplet:
-s Stay-open applet.
-u Use startup screen.
-a arch
Create the applet or droplet for the specified target architecture arch. The allowable values are ``ppc'', ``i386'', and ``x86_64''.
The default is to create a universal binary.
The following options control the packaging of the output file. You should only need them for compatibility with classic Mac OS or for cus-
tom file formats.
-d Place the resulting script in the data fork of the output file. This is the default.
-r type:id
Place the resulting script in the resource fork of the output file, in the specified resource.
-t type
Set the output file type to type, where type is a four-character code. If this option is not specified, the creator code will not be
set.
-c creator
Set the output file creator to creator, where creator is a four-character code. If this option is not specified, the creator code will
not be set.
If no options are specified, osacompile produces a Mac OS X format script file: data fork only, with no type or creator code.
If the -o option is specified and the file does not already exist, osacompile uses the filename extension to determine what type of file to
create. If the filename ends with ``.app'', it creates a bundled applet or droplet. If the filename ends with ``.scptd'', it creates a bun-
dled compiled script. Otherwise, it creates a flat file with the script data placed according to the values of the -d and -r options.
EXAMPLES
To produce a script compatible with classic Mac OS:
osacompile -r scpt:128 -t osas -c ToyS example.applescript
SEE ALSO
osascript(1), osalang(1)
Mac OS X November 12, 2008 Mac OS X