Sponsored Content
Top Forums Shell Programming and Scripting [Bash] passing variables to executable doesn't work Post 303039696 by sushi2k7 on Saturday 12th of October 2019 11:51:45 AM
Old 10-12-2019
[Bash] passing variables to executable doesn't work

Bash version 4.4.20 / Ubuntu 16.0.4


Hello,
I tried to write a script that gathers some data and passes them to an executable.
The executed application answers with an error. The echo output in the script returns correct values.
If I copy/paste the last echo command, it get's executed correctly.

You can't reproduce the error, maybe you can improve the code that it should work then.


Code:
 
#!/bin/bash

#creates an array with name gettx
declare -a gettx

#enter your public address from: StealthCoind getaddressesbyaccount ""
pubaddress=mzYfB7ZEurhm8UosBc1a5t4QtRCHjtVw4Z

#enter your pubkey from: StealthCoind getqposinfo
pubkey=0364d6d9039b74c69e2a7dabd81ff27c5cab0b7d54cda0f7419b94e02ff91f9

#Does a transaction and stores the transaction id into the txid variable
txid=$(StealthCoind sendtoaddress $pubaddress 0.01)

#Fill the gettx array with the needed vout number
gettx=($(awk -F: '{split($2,a,","); print a[1]}' <<<"$(StealthCoind gettransaction $txid | sed -n /0.01000000/,/}/p)"))

#Show content of txid for debugging
echo "TXID: $txid"

#show vout number for debugging
echo "vout n: ${gettx[1]}"

#show the build command chain for debugging
echo "StealthCoind claimqposbalance $txid ${gettx[1]} 10"

#execute the command to claim
StealthCoind claimqposbalance $txid ${gettx[1]} 10


Last edited by sushi2k7; 10-12-2019 at 02:21 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

bash pattern matching echo *[! '/' ] doesn't work

without using ls, just using echo so purely pattern matching I can say echo */ <-- lists directories but how would I match files? surely something like *!/ or * but neither work ? it seems like there isn't much that I can put in but surely i should be able to put any ascii... (1 Reply)
Discussion started by: james hanley
1 Replies

2. Shell Programming and Scripting

Perl cmds doesn't work in Bash shell . Plz help

Hi everyone, I have a Linux OS in my PC (older version 9). Its default shell is bash. Whenever I try to run some Perl program it throws error ! eg, if I run this simple PERL program , #!/usr/bin/perl printf "\lHello \n"; $var=3 ; printf $var; @list=(1,2,3); printf "@list";... (6 Replies)
Discussion started by: adc22
6 Replies

3. Shell Programming and Scripting

cd command doesn't work through variables

Hi.... cd command is not working when dual string drive/volume name is passed to cd through variables....... For Ex.... y=/Volumes/Backup\ vipin/ cd $y the above command gives error....... anyone with a genuine solution ? (16 Replies)
Discussion started by: vipinchauhan222
16 Replies

4. Ubuntu

set completion-ignore-case on doesn't work in bash

completion-ignore-case option doesn't work in my version: /home/user $ echo $BASH_VERSION 3.2.48(1)-release /home/user $ ls -l * -rw-r--r-- 1 user user 0 2009-10-18 00:09 somefile -rw-r--r-- 1 user user 0 2009-10-18 00:09 Somefile /home/user $ set completion-ignore-case on But when I... (2 Replies)
Discussion started by: Sapfeer
2 Replies

5. Shell Programming and Scripting

Perl variables inside Net::Telnet::Cisco Module doesn't work

I am writing perl script to configure Cisco device but Variables inside Net::Telnet::Cisco Module doesn't work and passed to device without resolving. Please advise. here is a sample of script: use Net::Telnet::Cisco; $device = "10.14.199.1"; ($o1, $o2, $o3, $o4) = split(/\./,$device);... (5 Replies)
Discussion started by: ahmed_zaher
5 Replies

6. Shell Programming and Scripting

pipe to grep doesn't work in bash script

Hi, I'm trying to write a script that checks gvfs to see if a mount exists so I can run it from network-manager's status hooks. I thought I'd pipe the output of gvfs-mount -l to grep for the particular mounts I care about. When I do this in a bash script: cmnd="gvfs-mount -l | grep -i... (4 Replies)
Discussion started by: kcstrom
4 Replies

7. Shell Programming and Scripting

Why double quotation marks doesn't work in ksh function parameters passing?

I'm working on AIX 6, ksh shell. The parameters are some strings quotated by double quotation marks which from a file. They are quotated because there may be spaces in them. Example: "015607" "10" " " "A"I want to pass these parameters to a shell function by writing the following command: ... (4 Replies)
Discussion started by: Shimmey
4 Replies

8. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies

9. Shell Programming and Scripting

Rsync in bash script doesn't work even after placing pub key in target server

Hello Friends, My bash script is like this #!/bin/bash # request Bourne shell as shell for job #$ -S /bin/bash # assume current working directory as paths #$ -cwd #$ -N rsync-copy # # print date and time date rsync -rltD --progress "ssh -i /home/myname/.ssh/id_rsa"... (4 Replies)
Discussion started by: jacobs.smith
4 Replies

10. UNIX for Beginners Questions & Answers

Bash diff date doesn't work

Hi everyone, I've an issue trying to soustracte two dates, e.g: d1=$(date -d "Nov 18, 2017" +%s) d2=$(date +%s) # Today we are 2017-11-16 echo "$(( (d1 - d2) / 86400 ))" Output: 1 I don't understand why it doesn't work. for me, it should give "18 - 16 = 2". Much appreciated... (1 Reply)
Discussion started by: Arnaudh78
1 Replies
SQLSRV_COMMIT(3)														  SQLSRV_COMMIT(3)

sqlsrv_commit - Commits a transaction that was begun withsqlsrv_begin_transaction(3)

SYNOPSIS
bool sqlsrv_commit (resource $conn) DESCRIPTION
Commits a transaction that was begun with sqlsrv_begin_transaction(3). The connection is returned to auto-commit mode after sqlsrv_com- mit(3) is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transac- tion(3). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and committ/roll back transactions. For more information, see SQLSRV Transactions. PARAMETERS
o $conn - The connection on which the transaction is to be committed. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 sqlsrv_commit(3) example The following example demonstrates how to use sqlsrv_commit(3) together with sqlsrv_begin_transaction(3) and sqlsrv_rollback(3). <?php $serverName = "serverNamesqlexpress"; $connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn === false ) { die( print_r( sqlsrv_errors(), true )); } /* Begin the transaction. */ if ( sqlsrv_begin_transaction( $conn ) === false ) { die( print_r( sqlsrv_errors(), true )); } /* Initialize parameter values. */ $orderId = 1; $qty = 10; $productId = 100; /* Set up and execute the first query. */ $sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID) VALUES (?, ?, ?)"; $params1 = array( $orderId, $qty, $productId ); $stmt1 = sqlsrv_query( $conn, $sql1, $params1 ); /* Set up and execute the second query. */ $sql2 = "UPDATE InventoryTable SET Quantity = (Quantity - ?) WHERE ProductID = ?"; $params2 = array($qty, $productId); $stmt2 = sqlsrv_query( $conn, $sql2, $params2 ); /* If both queries were successful, commit the transaction. */ /* Otherwise, rollback the transaction. */ if( $stmt1 && $stmt2 ) { sqlsrv_commit( $conn ); echo "Transaction committed.<br />"; } else { sqlsrv_rollback( $conn ); echo "Transaction rolled back.<br />"; } ?> SEE ALSO
sqlsrv_begin_transaction(3), sqlsrv_rollback(3). PHP Documentation Group SQLSRV_COMMIT(3)
All times are GMT -4. The time now is 08:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy