12-11-2008
Retain file permissions when saving .sh file from internet [OS X]
Hello.
I have written a bash script that I am sharing with an OS X community I am a member of. The purpose of the script is to execute a series of commands for members without them having to get involved with Terminal, as it can be daunting for those with no experience of it at all. I have renamed the file from .sh to .command, as this allows you to execute it by double-clicking the file in the OS X file manager.
The file saves itself from my script editor [Smultron] with read and write permission only, and not executable permission; I use chmod 755 {file} to give myself execute permission, and then upload the file using ftp. Connecting to my server with ftp I then find that the file permissions have changed back to read/write, so I again use chmod in the ftp shell and change the permissions again. I thought this would have prevented the following problem, but I guess not-
When I, or anyone else, saves the file from the public domain folder I have hosted it in, the permissions are back to not being executable. Of course, this can be fixed with chmod +x, but that rather defeats the purpose of the script if they have to get involved with Terminal at all.
Could anyone please suggest a way to resolve this issue, ie how can I get the file to have persistent executable permission for all? It's driving me nuts at this stage.. I've put quite a lot of effort into the script.
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I'm working on a little script, for first I transformed epoch (unix date in seconds) in a human readable date in this way
cat arp.dat | sort -k 3 | gawk '{ print strftime("%d:%m:%Y:%H:%M", $3),$1,$2}'
the result is
06:03:2006:10:01 0:a:e4:c0:b5:6d 192.168.1.3
06:03:2006:12:15... (8 Replies)
Discussion started by: CM64
8 Replies
2. UNIX for Advanced & Expert Users
Hi All,
I am trying to ftp a file :
-rw-rw-rw- 1 oraclepbdw dba filename.txt
from Machine A ( where umask is 022) to Machine B (umask 022)
but the file changes to
-rw-rw-r-- 1 ftpamle3 ftaml filename.txt
Dur some constraints the group of the users on either side... (3 Replies)
Discussion started by: gauravsachan
3 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I am using Bash shell to create some data and these data would be piped out to a file, let say output.txt.
This output.txt I would like to add some extra header information such as comments, descriptions and general information on the text.
I would like to know how could I maintain... (0 Replies)
Discussion started by: ahjiefreak
0 Replies
4. UNIX for Advanced & Expert Users
I want to retain specific number of backup files in a directory.for example i want to retain only two latest backup file in backup directory. If number of backup files is greater than this policy that it will delete oldest file.Please Tell me whether this is possible or not. (2 Replies)
Discussion started by: ranvijaidba
2 Replies
5. Shell Programming and Scripting
There are directories of files that I have to run the dos2ux command on to get ride of the carriage return characters. Easy enough, but I have to retain the original timestamps on the files. I am thinking that I am going to have to strip off the timestamp for each file and convert it to unix time... (3 Replies)
Discussion started by: scotbuff
3 Replies
6. Shell Programming and Scripting
I have large file with around 100k+ lines. I wanted to retain only the last 100 lines in that file. One way i thought was using
tail -1000 filename > filename1
mv filename1 filename
But there should be a better solution.. Is there a way I can use sed or any such command to change the... (9 Replies)
Discussion started by: nss280
9 Replies
7. Shell Programming and Scripting
Hello Firends
I have a file that contains data within single quotes, which has meaning of its own. When I am trying to parse through the file for a different functionality I noticed that I was loosing the backslash when occurrences in the file look like ('\0'). I would want to retain the... (3 Replies)
Discussion started by: easwam
3 Replies
8. Shell Programming and Scripting
Hi, I am creating a ksh script to search for a string of text inside files within a directory tree. Some of these file are going to be read/execute only. I know to use chmod to change the permissions of the file, but I want to preserve the original permissions after writing to the file. How can I... (3 Replies)
Discussion started by: right_coaster
3 Replies
9. UNIX for Dummies Questions & Answers
Hi,
Is there a way to write to a txt file each day but retain the header on the file? I'm cat'ing 5 files into one .txt file each day but I want the new data to be written after the first 2 lines which are:
Progname Size Date Owner
----------------------------
Basically I want my new... (4 Replies)
Discussion started by: Grueben
4 Replies
10. Programming
Dear All
I have 200 data files and each files has many duplicates.
I am looking for the automated awk script such that it checks and removes the duplicates from the each file and saving them as new files for all 200 files in the respective folder.
For example my data looks like this..
... (12 Replies)
Discussion started by: bala06
12 Replies
LEARN ABOUT DEBIAN
gmt_shell_functions
GMT_SHELL_FUNCTIONS.SH(1gmt) Generic Mapping Tools GMT_SHELL_FUNCTIONS.SH(1gmt)
NAME
gmt_shell_functions.sh - Practical functions to be used in GMT bourne shell scripts
SYNOPSIS
gmt_init_tmpdir
gmt_remove_tmpdir
gmt_clean_up [prefix]
gmt_message message
gmt_abort message
gmt_nrecords file(s)
gmt_nfields string
gmt_get_field string
gmt_get_region file(s) [options]
gmt_get_gridregion file [options]
gmt_get_map_width -R -J
gmt_get_map_height -R -J
gmt_set_psfile file
gmt_set_framename prefix framenumber
gmt_set_framenext framenumber
DESCRIPTION
gmt_shell_functions.sh provides a set of functions to Bourne (again) shell scripts in support of GMT. The calling shell script should
include the following line, before the functions can be used:
. gmt_shell_functions.sh
Once included in a shell script, gmt_shell_functions.sh allows GMT users to do some scripting more easily than otherwise. The functions
made available are:
gmt_init_tmpdir
Creates a temporary directory in /tmp or (when defined) in the directory specified by the environment variable TMPDIR. The name of
the temporary directory is returned as environment variable GMT_TMPDIR. This function also causes GMT to run in `isolation mode',
i.e. all temporary files will be created in GMT_TMPDIR and the .gmtdefaults file will not be adjusted.
gmt_remove_tmpdir
Removes the temporary directory and unsets the GMT_TMPDIR environment variable.
gmt_cleanup
Remove all files and directories in which the current process number is part of the file name. If the optional prefix is given then
we also delete all files and directories that begins with the given prefix.
gmt_message
Send a message to standard error.
gmt_abort
Send a message to standard error and exit the shell.
gmt_nrecords
Returns the total number of lines in file(s)
gmt_nfields
Returns the number of fields or words in string
gmt_get_field
Returns the given field in a string. Must pass string between double quotes to preserve it as one item.
gmt_get_region
Returns the region in the form w/e/s/n based on the data in table file(s). Optionally add -Idx/dy to round off the answer.
gmt_get_gridregion
Returns the region in the form w/e/s/n based on the header of a grid file. Optionally add -Idx/dy to round off the answer.
gmt_map_width
Expects the user to give the desired -R -J settings and returns the map width in the current measurement unit.
gmt_map_height
Expects the user to give the desired -R -J settings and returns the map height in the current measurement unit.
gmt_set_psfile
Create the output PostScript file name based on the base name of a given file (usually the script name $0).
gmt_set_framename
Returns a lexically ordered filename stem (i.e., no extension) given the file prefix and the current frame number, using a width of
6 for the integer including leading zeros. Useful when creating animations and lexically sorted filenames are required.
gmt_set_framenext
Accepts the current frame integer counter and returns the next integer counter.
NOTES
1. These functions only work in the bourne shell (sh) and their derivatives (like ash, bash, ksh and zsh). These functions do not work in
the C shell (csh) or their derivatives (like tcsh), and cannot be used in DOS batch scripts either.
2. gmt_shell_functions.sh were first introduced in GMT version 4.2.2 and have since been regularly expanded with other practical scripting
short-cuts. If you want to suggest other functions, please do so by mailing to the GMT mailing list: gmt-help@lists.hawaii.edu.
SEE ALSO
GMT(1), sh(1), bash(1), minmax(1), grdinfo(1)
GMT 4.5.7 15 Jul 2011 GMT_SHELL_FUNCTIONS.SH(1gmt)