Sourcing .cshrc (C shell) environment variables to bash


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sourcing .cshrc (C shell) environment variables to bash
# 1  
Old 10-11-2013
Sourcing .cshrc (C shell) environment variables to bash

I have tried with the following:
Code:
csh -c 'source ~/.cshrc; exec bash' # works perfectly
(cat ~/.cshrc; echo exec bash) | csh # not working 


And, using sed, I successfully retrieved the environment variables from ~/.cshrc
Code:
sed -rn 's/setenv\s+(\S+)\s+(.*)$/export \1=\2/p' ~/.cshrc

but now stuck-up in sourcing it to the bash environment, where the below solutions do not work Smilie
Code:
sed -rn 's/setenv\s+(\S+)\s+(.*)$/export \1=\2/p' ~/.cshrc | bash
source /dev/stdin < <(sed -rn 's/setenv\s+(\S+)\s+(.*)$/export \1=\2/p' ~/.cshrc)

# 2  
Old 10-11-2013
You are over complicating things. Why not just write the variables out to a temporary file and source that temporary file?

Even simpler, just write a .myownfile containing the variables and source that file.
# 3  
Old 10-12-2013
True, but would like to explore new stuffs Smilie

Could anyone correct my code?
# 4  
Old 10-12-2013
.cshrc is automatically sourced
Code:
csh -c 'exec bash'

You need eval
Code:
eval $(
sed -rn 's/^\s*setenv\s+(\S+)\s+/export \1=/p' ~/.cshrc
)

This User Gave Thanks to MadeInGermany For This Post:
# 5  
Old 10-18-2013
Quote:
Originally Posted by MadeInGermany
.cshrc is automatically sourced
Code:
csh -c 'exec bash'

[/CODE]
Awesome!! Smilie, so can I do anything for this piece of code
Code:
(cat ~/.cshrc; echo exec bash) | csh

in order to make it work?
# 6  
Old 10-18-2013
...being it's just a more complicated version of what he did in one parameter, why? What's your goal here?
# 7  
Old 10-18-2013
Using grep move all setenv statements into, say, .setenv. Next, add the following to your .bashrc:
Code:
setenv() { export $1="$2"}
. ~/.setenv

Edit your .cshrc file and comment out or delete your setenv statements, and add
Code:
source ~/.setenv

(or whatever the correct syntax is).

From now on keep all your environment definitions in .setenv and both csh and bash will be able to use them.

Andrew
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sourcing file from parent directory bash

"Debian 9 64x - LXDE" I try to source a file from my parent directory: #!/bin/bash #source.bash . ../links.bash but i get "file not found". I tried . "../links.bash" and . '../links.bash'. I got on all methods the same result. If i use the absolute path it works, but i don't want to... (4 Replies)
Discussion started by: int3g3r
4 Replies

2. UNIX for Dummies Questions & Answers

Question On Sourcing Variables

I have 2 scripts first script would call second script. test1.sh #!/bin/bash logfile=`basename $0`.log echo "First File" >> $logfile TIME=`ls -lu array.ksh | awk '{print $6" "$7" "$8}'` . /home/infrmtca/bin/Test/test2.sh #/home/infrmtca/bin/Test/test2.sh test2.sh #!/bin/bash... (1 Reply)
Discussion started by: Ariean
1 Replies

3. Shell Programming and Scripting

Sourcing variables from another script

My manager required that i keep the hostnames and username and password in a separate file when creating my sftp script. (Don't mention passwords and sftp...I've talk to him about this several times) I have a list of hostnames that have to be read in a loop in my main script. I don't know... (3 Replies)
Discussion started by: MJCreations
3 Replies

4. Shell Programming and Scripting

How to use ifdef for bash variables in csh environment?

Hi Guys, I have a a bash script and i am exporting a variable in it. I am calling a csh script from this bash script. The variable "ABC" will be visible in csh script. ks.bash export ABC = abc ./kp.csh ab.csh echo $ABC setenv ABC =cde (i want to assign this value to ABC only if... (4 Replies)
Discussion started by: vdhingra123
4 Replies

5. Shell Programming and Scripting

Unable to change environment variables in bash script

Hello! For the moment some settings in my .bashrc contain the password of my company's firewall, which is not a good idea. I would like to use the string "PASSWORD" set in .bashrc and a script that changes all appearances of "PASSWORD" in the environment variables by the actual password (which... (4 Replies)
Discussion started by: markolopa
4 Replies

6. Homework & Coursework Questions

BASH Environment Variables as arguments?

1. The problem statement, all variables and given/known data: Write a shell program called myenv which takes one argument. The argument should be the name of an environment variable, such as PATH HOME etc. myenv should print out the value of the variable given as the argument. If no argument is... (1 Reply)
Discussion started by: Helix
1 Replies

7. UNIX for Dummies Questions & Answers

cshrc Environment Variable Question

How do I input the environment variable in the .cshrc file to have the up and down arrows recall the last commands??? This is for Solaris 10. :confused::confused: (1 Reply)
Discussion started by: CFSR
1 Replies

8. UNIX for Dummies Questions & Answers

word too long..problem while sourcing .cshrc

I am setting my PATH & LD_LIBRARY_PATH through .cshrc file while sourcing it on a old shell i am getting the error word too long .and the changes which i anm doing doesn't get updated . i am in a multi user environment so the only way to do the changes only for my shell is to do it that way. ... (1 Reply)
Discussion started by: mobydick
1 Replies

9. Shell Programming and Scripting

shell script help: sorting, incrementing environment variables and stuff

First: me == noob. Whats a good resource for shell script info cause I'm having trouble finding good info. I'm writing a shell script to automate the setup of a flash 'page flip'. My current code is below. the page flip takes an xml file of format <content> <pages... (1 Reply)
Discussion started by: secoif
1 Replies

10. UNIX for Dummies Questions & Answers

bash shell variables

Hi everyone, I have added this to my .bash_profile. Whenever I log in and when I type javac I get a error message (java: command not found). Does the order counts? PATH=$JAVA_HOME/bin:$PATH:$HOME/bin JAVA_HOME=$JAVA_HOME/usr/local/jdk1.3.1_02 export JAVA_HOME PATH Thanks ny (3 Replies)
Discussion started by: xNYx
3 Replies
Login or Register to Ask a Question