03-09-2019
Quote:
Originally Posted by
ignatius
I know, that it is a big "NO NO" to use code that is generated by a source code converter, but, i'd rather not use the shell script in my code, just standard C code. So, that is my reasoning for that. Maybe that's the problem right there?
Source code converters are OK, in and on themselves, but the problem begins when you try to edit the generated code. Code created by a generator is usually understandable only to the compiler - most likely even the generator is confused reading what it has produced. You don't create an assembler listing from compiled code and change that in assembler either (at least not as long hell is not overbooked and you are sentenced to doing this for your sins instead).
Let us take a step back: what is the reason you don't want to use a shell script? Maybe there is a way to solve this problem without using this abomination in what C was never intended to look like.
I hope this helps.
bakunin
10 More Discussions You Might Find Interesting
1. Programming
i just finished a project for a c++ class that i wrote at home on my computer, compiled with gcc. when i brought the code into school it would not compile, it would complain that cannot call main() function. at school we use ancient borland c++ from 1995. anyway my program has 20 different... (3 Replies)
Discussion started by: norsk hedensk
3 Replies
2. Programming
Is it possible to execute any function before main() function in C or C++. (6 Replies)
Discussion started by: arun.viswanath
6 Replies
3. Programming
Hi,
I have a main loop which calls a sub loop, which finally returns to the main loop itself. The main loop runs when a flag is set. Now, I have a signal handler for SIGINT, which resets the flag and thus stops the main loop. Suppose I send SIGINT while the program is in subloop, I get an error... (1 Reply)
Discussion started by: Theju
1 Replies
4. Shell Programming and Scripting
Hi! I've a C program as shown below..
The line numbers and the statements of the program are separated by a space..
1 #include<stdio.h>
2 char a,b,c;
3 float x,y,z;
4 int main()
5 {
6 int d,e,f;
7 // further declarations
8 // further declarations
9 /* body*/
10 }
11 void fun1()
12... (1 Reply)
Discussion started by: abk07
1 Replies
5. Programming
why does this not work?
#include <stdio.h>
#include <stdlib.h>
char getFileMode(char charChanger) {
char filetype; /*var to hold the value to be returned*/
filetype = charSetter; /*set filetype to "l" if it is a symlink*/
return filetype;
}
int main(void){
char... (8 Replies)
Discussion started by: bluetxxth
8 Replies
6. Programming
Hi friends,
when I am passing arguments to main, I want another function to be able to have access to that function, the problem is that I am creating athread, which has a function like void *xyz(void *), how can pass the refernce of argv to this function, if you see my program, you will better... (2 Replies)
Discussion started by: gabam
2 Replies
7. Programming
H friends,
As we know, a function returns a value and that value is saved somwhere. like
int Sum( int x, int y )
{
return x + y;
}
Total = Sum( 10, 20 );
The value 30 is saved in variable Total.
Now the question is, what int value does the function main return, and where is it... (5 Replies)
Discussion started by: gabam
5 Replies
8. AIX
Hello All,
I am trying to call a function from the calling main program from a dlopened library function, below is the entire code, when I execute it it crashes with sigill. Can you guys help me out I guess I am missing out on the linker flag or something here. besides I am new to AIX and... (1 Reply)
Discussion started by: syedtoah
1 Replies
9. UNIX for Dummies Questions & Answers
I feel that i am missing something obvious but i can't find what is wrong.
I have a script that is launching some functions with "&" and each call is feeding the array with a value. When all calls are finished I just want to retrieve the values of that array.
It is looking like that :
... (5 Replies)
Discussion started by: bibou25
5 Replies
10. Programming
A sample.c file is written with only one single statement.
main;
Segmentation fault occurred when executed that file.
Any statement other than main; is written, for example unix; then it won't compile.
why is this behaviour ! (2 Replies)
Discussion started by: techmonk
2 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)