On May 2, 2008, at 5:36 PM, Bill Hernandez wrote:

I am trying to write a running command log to : /opt/local/var/log/ install_setup.log
but doing either below :

shell> $ sudo echo "${TS} $1" >> $BASH_CMD_LOG
shell> $ sudo su -m root echo "${TS} $1" >> $BASH_CMD_LOG

do not work...


This fails since sudo applies to the command, but redirection (>, >>, and |) is done in your shell, hence that isn't run by sudo (in fact, it's what is running sudo...).

...

Anybody know how to write to the log using test_one() without having to alter file/dir permissions, or use any of the alternatives mentioned above...


If you definitely don't want to change permissions on the directory or just the log file so you can write as your own user, one option would be to use tee:

$ sudo port install mycoolport | sudo tee -a /opt/local/var/log/port.log

This will send the port output to your terminal and to the log file (- a tells tee to append, not overwrite, just like >>). And since you're running tee with sudo, it has the permission to write to that location.

Bryan


TIA

Bill Hernandez
Plano, Texas
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to