Simple question 3


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple question 3
# 1  
Old 05-09-2013
Question Simple question 3

Here I am again~~
I am studying the storing function and dot command. But I found I couldn't load a stored function from a file. This is my command-line and script:
Code:
$ ls -lsa
Total 5
0 drwxr-xr-x+ 1 Administrator None   0 May  9 14:44 .
0 drwxr-xr-x+ 1 Administrator None   0 May  9 10:38 ..
4 -rw-r--r--  1 Administrator None 865 May  9 14:10 .testfunction
1 -rw-r--r--  1 Administrator None  73  May  9 14:40 datafile
1 -rwxr--r--  1 Administrator None 482 May  9 11:07 test

codes in my test script
Code:
#!/bin/sh
# scriptname : test
# purpose : call the function, add()
datafile=./datafile
. .testfunction	# the dot command reads the testfunction file into memory
if [ ! -f $datafile ]
then
	echo "basename $datafile does not exist! " 1>&2
	exit 1
fi

However, when I run the test script, error came out:
Code:
$ ./test
./test: line 5: . .testfunction: file not found

What happened? Please give me some tips, thanks
# 2  
Old 05-09-2013
While sourcing, you have to specify it as:
Code:
. ./.testfunction

Or use absolute path instead for sourcing.
This User Gave Thanks to Yoda For This Post:
# 3  
Old 05-09-2013
Please use a header that describe what information you need.
Not Simple question 3
This User Gave Thanks to Jotne For This Post:
# 4  
Old 05-09-2013
Quote:
Originally Posted by Yoda
While sourcing, you have to specify it as:
Code:
. ./.testfunction

Or use absolute path instead for sourcing.
The path doesn't have to be absolute or contain a slash character if the directory containing the file is on your search path (as specified by $PATH).

So, if your .testfunction file had been placed in the directory $HOME/bin and $HOME/bin was included in your setting of $PATH, your command:
Code:
. .testfunction

would have worked.
# 5  
Old 05-09-2013
This may also be relevant:
Quote:
Some older implementations searched the current directory for the file, even if the value of PATH disallowed it. This behavior was omitted from this volume of POSIX.1-2008 due to concerns about introducing the susceptibility to trojan horses that the user might be trying to avoid by leaving dot out of PATH.
Shell Command Language, dot:rationale
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

Syslog.conf: looking for a simple answer on a simple question

Cheers! In /etc/syslog.conf, if an error type is not specified, is it logged anywhere (most preferable is it logged to /var/log/messages) or not? To be more precise I am interested in error and critical level messages. At default these errors are not specified in syslog.conf, and I need to... (6 Replies)
Discussion started by: dr1zzt3r
6 Replies

2. Shell Programming and Scripting

Simple if then else question

I am having trouble making this statement work. I am passing in a number value for the number of days to keep archive logs for and wanted to make sure that it is a number. I have a script that will return 1 for is a number and 0 for is not a number. I also want to make sure that the number is not... (2 Replies)
Discussion started by: gandolf989
2 Replies

3. UNIX for Dummies Questions & Answers

simple question

hi everybody; trying to c unix programming and ive stucked with a problem: simple program filedr=open("tempfile",O_RDWR|O_TRUNC,0); write(filedr,msg1,6); int i; i=read(filedr,msg3,4); it returns 0 bytes read ... why? well if i try to poll() before read , it doesnt indicate POLLHUP or... (4 Replies)
Discussion started by: IdleProc
4 Replies

4. UNIX for Dummies Questions & Answers

Simple question

I had a script in solaris wich i read data, for example: Number 1: _ and the cursor use to be in '_' place because in the code of the script i write: echo "Number 1:\c" but i copy the script to a linux and the cursor 'jump' to the begining of the next line like: Number 1:... (2 Replies)
Discussion started by: lestat_ecuador
2 Replies

5. Shell Programming and Scripting

Simple Question

Hi, Please don't berate me over the simplicity of these questions. I have recently gotten into bash shell scripting and enjoy it quite a bit. One thing I have not found the answer to though is when naming a shell script, what extension is normally used (ie myscript.?)? Also where is the standard... (5 Replies)
Discussion started by: msb65
5 Replies

6. Shell Programming and Scripting

Simple ls question

i am doing ls -la in the out put , first line is as total 41621 What is this total? (2 Replies)
Discussion started by: Saurabh78
2 Replies

7. UNIX for Dummies Questions & Answers

Simple Question

Hi Guys, I've been learning UNIX for the past couple of days and I came across this exercise, I can't get my head around it, so I would be ever so grateful if I could receive some sort of help or direction with this. Create a file with x amount of lines in it, the content of your choice. ... (3 Replies)
Discussion started by: aforball
3 Replies

8. Programming

Simple C question... Hopefully it's simple

Hello. I'm a complete newbie to C programming. I have a C program that wasn't written by me where I need to write some wrappers around it to automate and make it easier for a client to use. The problem is that the program accepts standard input to control the program... I'm hoping to find a simple... (6 Replies)
Discussion started by: Xeed
6 Replies

9. UNIX for Dummies Questions & Answers

Ok simple question for simple knowledge...

Ok what is BSD exactly? I know its a type of open source but what is it exactly? (1 Reply)
Discussion started by: Corrail
1 Replies

10. UNIX for Advanced & Expert Users

Simple Question

Friends, I did following exercise $ echo '' > test $ od -b test $ echo "">test $ od -b test $echo > test $od -b test Every time I got the following output 0000000 012 0000001 But 012 is octal value for new line character . Even though there is no apperent new line character... (6 Replies)
Discussion started by: j1yant
6 Replies
Login or Register to Ask a Question