Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In addition to my own computer, I sometimes use an Ubuntu cluster at my school. Rather than manually keep my .bashrc's in sync, I would like to make the school cluster's .bashrc source my personal .bashrc from DropBox via a URL. However, when I naively try source http://myurl, I just get an error: http://myurl: No such file or directory. How can I can get bash to source from a script located online?

Worst case, I could curl to a named pipe and source that. Is there anything more elegant?

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

You can use process substitution with source:

source <(curl http://example.com/foo)

Note: I consider directly running code retrieved over the internet to be a serious security risk. It's probably less risky if this is done over an internal network (depending on its overall security).

share|improve this answer
    
Clever! Good point though that an attacker could easily feed me any code they want. –  AlcubierreDrive Mar 9 '11 at 14:49
add comment

Can't you just use

curl http://example.com/whatever.sh | bash 
share|improve this answer
    
That works and it's what I'm currently doing, but I was wondering if there's a more elegant way. But maybe this is the best, so if nothing turns up soon I'll accept your answer. –  AlcubierreDrive Mar 9 '11 at 14:12
    
Also, note that this is going in my .bashrc, so technically your solution is infinite recursion. ;) But I know what you meant. –  AlcubierreDrive Mar 9 '11 at 14:45
2  
Piping commands to bash will execute them in a separate process, which makes this method unusable for executing bashrc. –  grawity Mar 9 '11 at 15:15
    
Depends on what the commands are - but yes, sorry I agree –  John Burton Mar 9 '11 at 16:24
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.