can't execute a shell script


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers can't execute a shell script
# 1  
Old 03-06-2011
can't execute a shell script

Hi all,
As i want to know how the shell command "nohup" worked.I logged in as the user named vincent through Gnome.Then i press ctrl+atl+F1 changed into a console and logged in as another user named kinsley.The user "kinsley" is added by me with "useradd",and now there's no HOME directory for him(why?),and i have no right to make a new file.SmilieI moved a script which is owned by vincent to the directory of kinsley,and changed the file mode and ownership like this:
Code:
-rwxr-xr-x 1 kinsley kinsley 43 2011-03-06 21:53 /home/kinsley/script

and the file mode,ownership of /home/kinsley is
Code:
drwxr-xr-x 3 kinsley kinsley 4096 2011-03-06 21:56 /home/kinsley

The problem is i was NOT able to execute this script as kinsley.
The context of that script is:
Code:
#! /bin/sh

while .;do
	sleep 5
	date
done

why can't i execute this script?
# 2  
Old 03-06-2011
You logged in as someone who had no home directory, and despite not being able to create a file, you copied a file called "script" into that directory?

So you copied a file, something you are unable to do, to somewhere that didn't exist?

What error did you get (aside from the invalid . in the while loop - that you wouldn't see, as you couldn't execute the script!)? Which OS are you using?

Last edited by Scott; 03-06-2011 at 11:00 AM..
This User Gave Thanks to Scott For This Post:
# 3  
Old 03-06-2011
I created the directory /home/kinsley for kinsley before i copied the script into that directory.I didn't not get any output and error code while i executing that script,it looked like an endless loops without any output.The dot after while means TRUE In bash shell,isn't it?I use ubuntu 10.10 2.6.35-22-generic
# 4  
Old 03-06-2011
A : would mean "true". I tested a . in bash (not in Ubuntu) and it throws an error.

If your user was missing a home directory, you probably just forgot to specify it when running useradd.

You obviously resolved that using mkdir, chown and chmod.

I'm confused (it doesn't always take much to confuse me!), but where exactly is your problem, and what has nohup to do with it? (except that if you had run it nohup, the output would go to nohup.out by default)

You said you couldn't execute the script, but clearly you can if it's an infinite loop.

Try changing the . to a :. Otherwise perhaps you have an alias for date that's expecting some input (that would make the script seem "infinite")?
This User Gave Thanks to Scott For This Post:
# 5  
Old 03-06-2011
Quote:
Originally Posted by scottn
You logged in as someone who had no home directory, and despite not being able to create a file, you copied a file called "script" into that directory?

So you copied a file, something you are unable to do, to somewhere that didn't exist?

What error did you get (aside from the invalid . in the while loop - that you wouldn't see, as you couldn't execute the script!)? Which OS are you using?
sorry i make a fool mistake....In my script,the sleep time was set to be very long as a careless mistake.So i thought it wasn't executed....Smilie what a fool i am.....Anyway,thanks for your help

---------- Post updated at 10:21 AM ---------- Previous update was at 10:17 AM ----------

Quote:
Originally Posted by scottn
A : would mean "true". I tested a . in bash (not in Ubuntu) and it throws an error.

If your user was missing a home directory, you probably just forgot to specify it when running useradd.

You obviously resolved that using mkdir, chown and chmod.

I'm confused (it doesn't always take much to confuse me!), but where exactly is your problem, and what has nohup to do with it? (except that if you had run it nohup, the output would go to nohup.out by default)

You said you couldn't execute the script, but clearly you can if it's an infinite loop.

Try changing the . to a :. Otherwise perhaps you have an alias for date that's expecting some input (that would make the script seem "infinite")?
Thanks,all your words here are right except about ".".Now i realized the : means true,however,my code runs well when i still use "." as a test Smilie
# 6  
Old 03-06-2011
In hindsight, if I remember, #!/bin/sh in Ubuntu is a link to dash, not bash. Maybe that's why . didn't work for me.
# 7  
Old 03-06-2011
Quote:
Originally Posted by scottn
In hindsight, if I remember, #!/bin/sh in Ubuntu is a link to dash, not bash. Maybe that's why . didn't work for me.
you are my idol!!!
Code:
lrwxrwxrwx 1 root root 4 2010-11-24 03:09 /bin/sh -> dash

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Batch script to execute shell script in UNIX server

Hi team, My requirement is to transfer pdf files from windows machine to unix server and then from that unix server we should sftp to another server. I have completed the first part i.e From windows to using to unix server with the help of psftp.exe code: psftp user@host -pw password <... (1 Reply)
Discussion started by: bhupeshchavan
1 Replies

2. Shell Programming and Scripting

How to execute one shell script after execution of another shell script?

I have a master shell script master.sh which will invoke 2 shell scripts (test1.sh,test2.sh). Both of these shell scripts will execute stored procedure. I will invoke test1.sh, test2.sh respectively. Now both of these scripts are executing parallel. But i want to invoke the 2nd script(test2.sh)... (3 Replies)
Discussion started by: vel4ever
3 Replies

3. Shell Programming and Scripting

Execute shell script without using sh

Hi Experts, I want to execute shell script(on HP-UX) wihout specifying interpreter. For e.g generally we use following command to execute shell sh test.sh but I want to execute it as test.sh currently if I execute directly it as test.sh it is giving error Commnd Not... (7 Replies)
Discussion started by: sai_2507
7 Replies

4. Shell Programming and Scripting

Dos batch script to execute unix shell script

Can anyone help me with a dos batch script to execute a shell script residing in an unix server. I am not able to use ssh. Thanks in advance (2 Replies)
Discussion started by: Shri123
2 Replies

5. Shell Programming and Scripting

How to use ssh execute other shell script on other host (shell script include nohup)?

i want use ssh on the host01 to execute autoexec.sh on the host02 like following : host01> ssh host02 autoexec.sh autoexec.sh include nohup command like follwing : nohup /home/jack/deletedata.sh & after i execute ssh host02 autoexec.sh one the host01. i can't found deletedata.sh... (1 Reply)
Discussion started by: orablue
1 Replies

6. Shell Programming and Scripting

Execute unix shell script to text file using the script

Hi all, I am beginner in UNIX...I want to use unix shell script to create text.file...I know how to use using by command...can anybody tell me for the script? Thanks i changed the threads title from "tex file" to "text file", because "tex" would probably be misunderstood as reference to... (4 Replies)
Discussion started by: mastercar
4 Replies

7. Shell Programming and Scripting

not able to execute shell script

HI, bash-2.05# more mysqlstoporaclestart.sh #!/bin/sh mysqladmin -u root -pengineer shutdown su - oracle -c "bash /export/home/oracle/oracle.sh" bash-2.05# more /export/home/oracle/oracle.sh /oracle/bin/sqlplus "/as sysdba"<< EOF startup nomount... (2 Replies)
Discussion started by: prakash.gr
2 Replies

8. UNIX for Dummies Questions & Answers

To call/execute a shell script from a shell script

Hi , I have 4 shell scripts a.ksh b.ksh -> depends on a.ksh success -> log into b.log c.ksh -> depends on b.ksh success -> log into c.log d.ksh -> depends on c.ksh success -> log into d.log I will have to write main.ksh ( execute a.ksh , log into a.log if a.ksh= success, execute... (1 Reply)
Discussion started by: konark
1 Replies

9. UNIX for Dummies Questions & Answers

Execute Shell Script

Hi all, I am begginer of UNIX . I dont know if i have a script written in korn shell with .ksh extention . If i want to execute that how can i do that? Can anybody suggest the best book to learn korn shell scripting. Thanks sam71 (1 Reply)
Discussion started by: sam71
1 Replies

10. Shell Programming and Scripting

How to execute shell Script?

I am new to UNIX , Can any one let me know how to execute shell script (i.e which command I have to use for the same). Any help would be appreciated. Thanks siva mymvs999@yahoo.com (3 Replies)
Discussion started by: siva
3 Replies
Login or Register to Ask a Question