shell programming / aliasing / set -f


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users shell programming / aliasing / set -f
# 1  
Old 06-16-2008
shell programming / aliasing / set -f

Here's my opportunity.... I want to turn off the * expansion, execute the shell script and have it see the arguement with the * and not all the filenames, and then set +f once the script is executed.

1) I have an alias set as follows:

alias scp='set -f; /opt/dir1/dir2/script.sh ; set +f'

of course this fails due to the way aliasing works.

scp /dir/dir2/* the * does not get passed correctly to the binary because of the alias being set and the "; set +f" being aliased... so...

I do:

alias scp='set -f; /opt/dir1/dir2/shell.sh'

and thus

scp /dir/dir2/*

works perfectly because the set -f is performed at the current shell level before executing /opt/dir1/dir2/shell.sh thus what is passed to my script is the string "/dir/dir2/*" and the splat is not expanded... so

All's well except that the set -f remains in effect. Is anyone away of how I can get the 'set +f' executed once the script is finished?
# 2  
Old 06-17-2008
I don't think there's an elegant and straightforward way to do this. But what if the second command in the alias were a function instead? Something like

Code:
alias scp='set -f; myscp'
myscp () {
  /opt/dir1/dir2/shell.sh "$@"
  set +f
}

Seems to work at least in Bash, for what it's worth.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

2. Shell Programming and Scripting

Help needed with shell script to search and replace a set of strings among the set of files

Hi, I am looking for a shell script which serves the below purpose. Please find below the algorithm for the same and any help on this would be highly appreciated. 1)set of strings need to be replaced among set of files(directory may contain different types of files) 2)It should search for... (10 Replies)
Discussion started by: Amulya
10 Replies

3. Solaris

Directory Aliasing

Hello, I need to rediret the directory location at run time as:- If I type cd /dir1/dir2 then it should take me to /dir1/dir3 at run time. Inside dir1, both dir2 and dir3 directories are present. Could anyone guild me over it? Thanks Shubham (5 Replies)
Discussion started by: shubh05
5 Replies

4. Homework & Coursework Questions

aliasing command

hi to all members in this forums .. Nice to meet you... i only have a questions about command utility of "dd": for example i will type: pico trial this is my file. and save it and type chmod a+x trial can there be a way that instead of typing: dd if=trial of=trial.copy conv=ucase... (3 Replies)
Discussion started by: marahtia
3 Replies

5. UNIX for Dummies Questions & Answers

How can I do aliasing in shellscript?

#Example.sh alias rmv 'sh Example2.sh' when i execute exapme.sh alias name not working. how i solve this problem?? (9 Replies)
Discussion started by: arun508.gatike
9 Replies

6. Red Hat

Cluster Suite IP-Aliasing

Hi, is it normal, that the IP alias (service IP) can't be seen with ifconfig -a , as eth0:1 for example the IP is on the node, you can ping it, and open ports for that IP look at this: # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback... (4 Replies)
Discussion started by: funksen
4 Replies

7. UNIX for Dummies Questions & Answers

aliasing question in UNIX

Folks; I know this might sound stupid, but Can i alias a web link to another web link in a UNIX server? Let say i have a web link named http://test.new.com/wiki Can i alias that so when i click on it or i type it in the browser address it opens but the link in the browser say something like:... (1 Reply)
Discussion started by: Katkota
1 Replies

8. UNIX for Dummies Questions & Answers

What is IP aliasing ?

Hi, Can anyone tell me what is IP aliasing ? I do not know if this is the right place for this thread !!. Thanks in advance, Gideon. (2 Replies)
Discussion started by: preethgideon
2 Replies

9. UNIX for Dummies Questions & Answers

Basic regarding aliasing

Hi All, One small request. In UNIX/LINUX we can have our own aliases in .bashrc file. My doubt is when we add a new alias and if it is tried in already opened terminals it will not work, may be it is not going to recognise. Bit when we use the same alias in new terminal it will work. I... (1 Reply)
Discussion started by: chanakyahere
1 Replies
Login or Register to Ask a Question