Confused over a BASH command
I've done a fair amount of C and java programming on platforms other than linux, so I thought I'd have no trouble with variables in BASH.
However I've been confused by seeing this command: Code:
CC="gcc -B/usr/bin/" ../binutils-2.17/configure \ Is anyone able to give me a little detail on why this carries out a command? Anything about what this is actually doing would be helpful. Thanks for your time. |
Hi,
There are 2 commands present: 1) CC="gcc -B/usr/bin/", This forces gcc to prefer the linker from the host in /usr/bin. This is necessary on some hosts where the new ld built here is not compatible with the host's gcc. (boldly copied from the LFS 6.3, 5.3. Binutils-2.17 - Pass 1 page....). and 2) ../binutils-2.17/configure --prefix=/tools --disable-nls --disable-werror, which is the configure command (with 3 options). Hope this helps. |
Quote:
Code:
env CC="gcc -B/usr/bin/" ../binutils-2.17/configure \ |
That makes a little more sense.
How does the syntax indicate 2 commands? Is it the fact that "gcc -B/usr/bin/" is quoted or something else? |
Quote:
The equivalent would have been to use "export CC=...", followed by the configure command? although this would have perminantly changed CC (atleast until I closed the command prompt) |
Quote:
Code:
NAME=VALUE [ COMMAND [ARG] ... ] |
Hi,
You've been answering your own questions ;) Just to confirm: you can set the value of NAME just for the execution of the command. is correct. I'm not sure if you are trying to set up LFS, but take a look at the chapter that follows binutils (GCC-4.1.2 - Pass 1), it shows that CC='.....' is set again. |
Quote:
Several posts have given you some good advice. I would suggest that you look at the Advanced Bash-Scripting Guide or Learning the Shell. You could also look at the Tutorials section of 'Slackware-Links' for other useful links. |
All times are GMT -5. The time now is 03:46 AM. |