]> SALOME platform Git repositories - tools/install.git/commitdiff
Salome HOME
Fix bug KERNEL7695 : correct 'setenva', 'setenvp' commands in order to not permute...
authorvsr <vsr@opencascade.com>
Wed, 26 Jan 2005 10:21:12 +0000 (10:21 +0000)
committervsr <vsr@opencascade.com>
Wed, 26 Jan 2005 10:21:12 +0000 (10:21 +0000)
config_files/common.sh

index feca5a1578c77908144eb77c2067dd6a5ec3d948..b91ad0e1cd24e798ddf24f2251217a981a9da2e7 100755 (executable)
@@ -94,13 +94,13 @@ export INSTALL_ROOT=${install_root}
 #$DELIM globals $DELIM
 setenvp() {
     xenv=\$2:\`printenv \$1\`
-    out_var=\`echo \$xenv | awk -F: '{n=0 ; for(i=1;i<=NF;i++){v=\$i;t=1;for(j=0;j<=n;j++){if(keys[j]==v){t=0;break;}};if(t)keys[n++]=v} ; for(j=0;j<n;j++){printf "%s",keys[j];if(j<n-1) printf ":"} ; printf "\n"}'\`
+    out_var=\`echo \$xenv | awk -F: '{ n=0; r=1; s=\$1; x=0; for( i=2; i<=NF; i++ ){ v=\$i; t=1; if( v==s ) r=0; for( j=0; j<=n; j++ ){ if( keys[j]==v ){ t=0; break; } }; if( t ) keys[n++]=v; x=1; }; if( r ) printf "%s",s; if( x ) printf ":"; for( j=0; j<n; j++ ) { printf "%s",keys[j]; if( j<n-1 ) printf ":"; }; printf "\n"; }'\`
     export \$1=\$out_var
 }
 
 setenva() {
-    xenv=\`printenv \$1\`:\$2
-    out_var=\`echo \$xenv | awk -F: '{n=0 ; for(i=NF;i>=1;i--){v=\$i;t=1;for(j=0;j<=n;j++){if(keys[j]==v){t=0;break;}};if(t)keys[n++]=v} ; for(j=n-1;j>=0;j--){printf "%s",keys[j];if(j>0) printf ":"} ; printf "\n"}'\`
+    xenv=\$2:\`printenv \$1\`
+    out_var=\`echo \$xenv | awk -F: '{ n=0; r=1; s=\$1; x=0; for( i=2; i<=NF; i++ ){ v=\$i; t=1; if( v==s ) r=0; for( j=0; j<=n; j++ ){ if( keys[j]==v ){ t=0; break; } }; if( t ) keys[n++]=v; x=1; }; for( j=0; j<n; j++ ) { printf "%s",keys[j]; if( j<n-1 ) printf ":"; }; if( r ) { if( x ) printf ":"; printf "%s",s; }; printf "\n"; }'\`
     export \$1=\$out_var
 }
 EOF
@@ -108,11 +108,11 @@ EOF
 cat >> ${install_work}/$CSHRC <<EOF
 setenv INSTALL_ROOT ${install_root}
 #$DELIM globals $DELIM
-alias cleandup  "echo \!:1 | awk -F: '"'{n=0 ; for(i=1;i<=NF;i++){v=\$i;t=1;for(j=0;j<=n;j++){if(keys[j]==v){t=0;break;}};if(t)keys[n++]=v} ; for(j=0;j<n;j++){printf "%s",keys[j];if(j<n-1) printf ":"} ; printf "\n"}'"'"
-alias cleandupr "echo \!:1 | awk -F: '"'{n=0 ; for(i=NF;i>=1;i--){v=\$i;t=1;for(j=0;j<=n;j++){if(keys[j]==v){t=0;break;}};if(t)keys[n++]=v} ; for(j=n-1;j>=0;j--){printf "%s",keys[j];if(j>0) printf ":"} ; printf "\n"}'"'"
+alias cleandup  "echo \!:1 | awk -F: '"'{ n=0; r=1; s=\$1; x=0; for( i=2; i<=NF; i++ ){ v=\$i; t=1; if( v==s ) r=0; for( j=0; j<=n; j++ ){ if( keys[j]==v ){ t=0; break; } }; if( t ) keys[n++]=v; x=1; }; if( r ) printf "%s",s; if( x ) printf ":"; for( j=0; j<n; j++ ) { printf "%s",keys[j]; if( j<n-1 ) printf ":"; }; printf "\n"; }'"'"
+alias cleandupr "echo \!:1 | awk -F: '"'{ n=0; r=1; s=\$1; x=0; for( i=2; i<=NF; i++ ){ v=\$i; t=1; if( v==s ) r=0; for( j=0; j<=n; j++ ){ if( keys[j]==v ){ t=0; break; } }; if( t ) keys[n++]=v; x=1; }; for( j=0; j<n; j++ ) { printf "%s",keys[j]; if( j<n-1 ) printf ":"; }; if( r ) { if( x ) printf ":"; printf "%s",s; }; printf "\n"; }'"'"
 
-alias setenva 'set a="\!:1" ; set b=\`printenv \$a\`:"'\!:2'" ; set b=\`cleandupr \$b\` ; setenv \$a \$b ; unset a, b'
-alias setenvp 'set a="\!:1" ; set b="'\!:2'":\`printenv \$a\` ; set b=\`cleandup \$b\`  ; setenv \$a \$b ; unset a, b'
+alias setenva 'set a="\!:1" ; set b="'\!:2'":\`printenv \$a\` ; set b=\`cleandupr \$b\` ; setenv \$a \$b ; unset a, b'
+alias setenvp 'set a="\!:1" ; set b="'\!:2'":\`printenv \$a\` ; set b=\`cleandup  \$b\` ; setenv \$a \$b ; unset a, b'
 EOF
 ### !!! writing salome.csh file !!! -> set inital variables
 pre_vars="PATH LD_LIBRARY_PATH LD_RUN_PATH PYTHONPATH"