How do you change a user's primary unix group in a ColdFusion rsh command? -


we use rsh command check files clearcase:

<cfexecute name="c:\cygwin64\bin\rsh.exe"     arguments="-n -l #username# #server# ""cleartool setview -exec '#ksh_file# -user #username# -dir #vob_directory#' #clearcase_view#"" "     timeout="180"     variable="checkin_file_content"> </cfexecute> 

but running issue user's primary unix group set different group vob user trying check file into.

i need run newgrp command right before executing #ksh_file#

i sure work:

<cfexecute name="c:\cygwin64\bin\rsh.exe"     arguments="-n -l #username# #server# ""newgrp #group#; cleartool setview -exec '#ksh_file# -user #username# -dir #vob_directory#' #clearcase_view#"" "     timeout="180"     variable="checkin_file_content"> </cfexecute> 

but keeps timing out.. no errors, spins , stops.

---update--- upon further testing, cfexcute , rsh don't seem allow multiple commands. here sample test tried yielded same problems:

<cfexecute name="c:\cygwin64\bin\rsh.exe"     arguments="-n -l #username# #server# ""newgrp #group#; id -a > results.txt"" "     timeout="180"> </cfexecute> 

i ended creating launchcheckin.ksh script change user's group within shell. pass commands wanted execute arguments script, change group in script , execute commands in newgrp stream! we've had out in production 6 months without hitch.

launchcheckin.ksh

file="$1" group="$2" count=1 argument in $*       if [ ${count} -gt 2 ]               arguments="${arguments} ${argument}"       fi     ((count+=1)) done  newgrp ${group} << eof ${file} ${arguments} eof 

updated command

<cfexecute name="c:\cygwin64\bin\rsh.exe"     arguments="-n -l #username# #server# ""cleartool setview -exec '/launchcheckin.ksh #ksh_file# #group# #arguments#' #clearcase_view#"" "     timeout="180"     variable="checkin_file_content"> </cfexecute> 

Comments