passing variables from bash to executable (which reads argument with stdin) -
i have following test.cpp c++ program
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { float a,b,c; cout<<"give 1st number"; cin>>a; cout<<"give 2nd number:"; cin>>b; c=a+b; cout<<"\n"<<a<<"+"<<b<<"="<<c<<endl; return 0; }
and want create shell script gives input variables. know how pass 1 variable, , know if there way pass 2 variables... following test.sh file not working
#!/bin/bash g++ test.cpp -o testexe chmod +x testexe a=1 b=2 ./testexe <<< $a $b
to compatible not bash, /bin/sh
-- while avoiding pipeline overhead -- use heredoc:
./testexe <<eof $a $b eof
if don't care pipeline overhead (and still maintaining /bin/sh
compatibility, answer using <<<
lacks):
printf '%s\n' "$a" "$b" | ./testexe
if don't care /bin/sh
compatibility:
./testexe <<<"$a"$'\n'"$b"
Comments
Post a Comment