• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 449
  • Last Modified:

shell?

1) I was trying to compile the source of a program [ make -f unix/Makefile generic]on one of my machine, I was prompted with the error "Couldn't load shell". I am the root.

2) How can I change from one shell to another? korn to C shell or to borne

3) What is this ? [#!/bin/sh], found in some script files.

appreciate if someone can help me understand this.

Thank you.
0
ycgoh
Asked:
ycgoh
  • 2
  • 2
  • 2
  • +2
1 Solution
 
arnbwsCommented:
You can change shells using the command chsh provided that the sys admin has added the shell you wish to change to in the /ect/shells directory-- not a problem if you are logged in as root. The chsh command will query you for your password and then the path of the new shell (/bin/bash or /bin/csh forinstance). I hope this helps.

0
 
arnbwsCommented:
arnbws changed the proposed answer to a comment
0
 
jonkeCommented:
1)Don't know how C compiles so cannot answer

2)type ksh to change to  a korn shell. type sh to change to a bourne shell, type csh to change to a c shell. To find out what shell you are currently using type: env |grep SHELL

3)The #!/bin/sh Tells the script what shell to run in:

#!/bin/sh      =run script in bourne shell
#!/bin/ksh      =run script in korn shell
#!/bin/csh      =run script in c shell
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
hongjunCommented:
jonke's comment is helpful.

hongjun
0
 
cartoon022100Commented:
HI ycgoh,

You could not load the shell ,because there may be a chance that you are trying to use a shell that is not present in your system.If that is the case ,try using sh/tcsh/ or whatever that u have.

To change shells you can just type ksh or tcsh or other shells that you want use provided those shells are present in your system.check for those shells in "/bin"


The "#!/bin/sh" is normally found in the first line of shell scripts
This is nothing but the location of the shell present in your system.
Given that in the first line informs that ,that particular shell will be used through out the shell script.

Regards,
Inigo
0
 
ycgohAuthor Commented:
Thank guys... so embarassing!
0
 
jonkeCommented:
You just gave the points to someone that gave exactly the same answers as me!

0
 
ycgohAuthor Commented:
Hi Jonke,
I appreciate your comments and you too deserve the points.  

Nevertheless, I have read two of your accepted answers and had transfered some points to you.  I hope you will get it.  Sorry, about not awarding you the points.

Further, can you please take a look at my new question.

Thank you
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 2
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now