Visit Our UNIX and Linux User Community


echo help


 
Thread Tools Search this Thread
Top Forums Programming echo help
# 1  
Old 10-02-2002
echo help

i found this code in the book but was unable to execute it.
/*myecho -- echo command line arguments */

main(int argc, char **argv)
{
while(--argc > 0)
printf("%s ", *++argv);
printf("\n");
}

this is another program that would invoke the one above

char * const argin[] = {"myecho", "hello", "world", (char *)0};

execvp(argin[0], argin);

the output suppose to display "hello world"

i tried putting the bottom portion in another main function, but it did not work.
help please. thank you
# 2  
Old 10-02-2002
The code you posted is legal although it is not very well written. I too put the last fragment inside a main function.

As written, the code assumes that the myecho program will be found on the PATH. Since that would not be true in my case, I changed the {"myecho", to read {"./myecho",

Other than the PATH search issue, I don't see anything wrong enough to keep it from running.

What system are you using? What compiler? What result do you get when you try this?
# 3  
Old 10-02-2002
i'm using gcc.
compiling on a remote computer using ssh.
the first main program i saved it as myecho.c
the second main program(the bottom portion) i called it caller.c
when i gcc caller.c then a.out, i didn't get anything. It's like it's not calling anything.
o...and ./myecho doesn't make any difference
thanks
# 4  
Old 10-02-2002
Works fine with gcc, too. Do:
gcc myecho.c -o myecho
./myecho test one two three
gcc caller.c -o caller
./caller
uname -a

and post the results.
# 5  
Old 10-02-2002
a ha...i found the problem. instead of "myecho" i typed it as "myecho.c".
hey thanks alot for taking the time to answer.
by the way, i didn't run it as ./ i jut runned it regularly and it still worked. instead of ./a.out i just simply used a.out and it run just fine. what's the point of using ./ ?
thanks
# 6  
Old 10-02-2002
That must mean that "." is in your PATH, or you are in a directory that is in your path. "./program" will execute the "program" in your current directory.

Many people will remove "." (the current directory) from their PATH variable for security reasons, and others will do it just to be safe. Many normal users can leave "." in their PATH, as long as they're cautious of where they are and what they're executing.

Also, if you name a program "test", you'll want to give a full path to it, since "test" already exists in many shells as a builtin command, or as a system binary. In that case executing "test" and executing "./test" will be two different programs.

Previous Thread | Next Thread
Test Your Knowledge in Computers #216
Difficulty: Easy
A network operating system is a specialized operating system for a social media company, like Facebook or Google.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Difference between echo `ls -l` and echo "`ls -l`" ?

Hi guys, Been messing around with shell programming for a couple of days and I found something that was pretty odd in the behavior of the echo command. Below is an example-: When I type the following in my /home directory from my lxterminal in Debian-: echo "`ls -l`" I get the... (2 Replies)
Discussion started by: sreyan32
2 Replies

2. UNIX for Dummies Questions & Answers

echo

Hello, I'm working with ksh. I was working with the echo command That is echo "Today is $date" which would show for example Toady is 7/12/12 which was fine however, know I only recieve the first part of the echo without the date. Today is Could I have edited the echo... (9 Replies)
Discussion started by: JD_Sal
9 Replies

3. Shell Programming and Scripting

tcsh - understanding difference between "echo string" and "echo string > /dev/stdout"

I came across and unexpected behavior with redirections in tcsh. I know, csh is not best for redirections, but I'd like to understand what is happening here. I have following script (called out_to_streams.csh): #!/bin/tcsh -f echo Redirected to STDOUT > /dev/stdout echo Redirected to... (2 Replies)
Discussion started by: marcink
2 Replies

4. Shell Programming and Scripting

With that logic this echoes "echo". Question about echo!

echo `echo ` doesn't echoes anything. And it's logic. But echo `echo `echo ` ` does echoes "echo". What's the logic of it? the `echo `echo ` inside of the whole (first) echo, echoes nothing, so the first echo have to echo nothing but echoes "echo" (too much echoing :P):o (2 Replies)
Discussion started by: hakermania
2 Replies

5. Shell Programming and Scripting

Help with echo

Hi Guys, I need to print a value in the same line , But when we use the echo instead the loops (while), the value goes to the next line.. Can you help me in this.. Thanks For your help in advance. (6 Replies)
Discussion started by: mac4rfree
6 Replies

6. UNIX for Dummies Questions & Answers

How to correctly use an echo inside an echo?

Bit of a weird one i suppose, i want to use an echo inside an echo... For example... i have a script that i want to use to take users input and create another script. Inside this script it creates it also needs to use echos... echo "echo "hello"" >$file echo "echo "goodbye"" >$file ... (3 Replies)
Discussion started by: mokachoka
3 Replies

7. Shell Programming and Scripting

echo !.

can someone tell me what does this code do? echo !. (2 Replies)
Discussion started by: ryandegreat25
2 Replies

8. Shell Programming and Scripting

Difference between using "echo" builtin and /bin/echo

So in my shell i execute: { while true; do echo string; sleep 1; done } | read line This waits one second and returns. But { while true; do /bin/echo string; sleep 1; done } | read line continues to run, and doesn't stop until i kill it explicitly. I have tried this in bash as well as zsh,... (2 Replies)
Discussion started by: ulidtko
2 Replies

9. UNIX for Dummies Questions & Answers

echo

Is there a way to get echo to make newlines without using any type of quotes? I've done a lot of searches and went into my Linux book to no avail. I'm trying to write five separate lines to a file. I can get echo to accept all five lines like this echo \ \this is line 1\ \this is line 2\ >... (6 Replies)
Discussion started by: Trekker182
6 Replies

10. Shell Programming and Scripting

echo

what is the meaning of this echo $description | wc -m` -ne "1" (0 Replies)
Discussion started by: debasis.mishra
0 Replies

Featured Tech Videos