Sponsored Content
Top Forums Shell Programming and Scripting Different behavior between bash shell and bash script for cmd Post 303023567 by da1 on Wednesday 19th of September 2018 10:13:15 AM
Old 09-19-2018
Different behavior between bash shell and bash script for cmd

So I'm trying to pass certain json elements as env vars and use them later on in a script.


Sample json:
Code:
JSON='{  
    "Element1": "file-123456",
    "Element2": "Name, of, company written in, a very weird way",
    "Element3": "path/to/some/file.txt",
}'


(part of the) script:
Code:
for s in $(echo $JSON | jq "{Element1,Element2,Element3} | to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]");do
export $s
done


The problem I'm having is that Element2 is breaking the line when exporting but if I just run "echo $JSON | jq "{Element1,Element2,Element3} | to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]"" at the cmd line, it looks fine:
Code:
"Element1=file-123456"
    "Element2=Name, of, company written in, a very weird way"
    "Element3=path/to/some/file.txt"


Actual output of script:
Code:
1.bash: line 100: export: `of,': not a valid identifier
1.bash: line 100: export: `company,': not a valid identifier
1.bash: line 100: export: `written,': not a valid identifier


As can be seen, the export command inserts single quotes into the "Element2" and I'm not sure where they come from.


The second variable (Element2) only contains the first element in the string (Name,). The behavior makes sense since the line is broken but for the life in me I cannot understand how or why the export command inserts them.


Any insight is appreciated, thank you!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Mimic bash history behavior

Does anyone know of a way to mimic the up arrow/down arrow type bash behavior within a shell script? Say I have a scripted menu, and would like to be able to up arrow to bring up the last X number of lines of user input? Thanks to anybody with a suggestion. :) (0 Replies)
Discussion started by: sysera
0 Replies

2. Shell Programming and Scripting

how to make your bash script run on a machine with csh and bash

hi, i have a script that runs on bash and would like to run it on a machine that has csh and bash. the default setting on that machine is csh. i dont want to change my code to run it with a csh shell. is there any way i can run the script (written in bash) on this machine? in other words is there... (3 Replies)
Discussion started by: npatwardhan
3 Replies

3. Shell Programming and Scripting

BASH quoting behavior

The block below isn't a surprise:$ ls file1 file2 file3 $ x=* $ echo $x file1 file2 file3 $ echo '$x' $x $ echo "$x" * $But I found this block a bit bewildering:$ echo $x' >' * $I'm wondering why substitution wasn't performed on the $x, since it was unquoted (as far as I can tell).... (5 Replies)
Discussion started by: na5m
5 Replies

4. Red Hat

BASH command not found strang behavior

Hi all I am relatively new to linux (specifically red hat). I have installed Fedora 13 on my machine and started playing with the terminal when i found a very strange behavior when typing a command that is not found: the terminal does not prompt me back. In other words, i am logged as root (or... (4 Replies)
Discussion started by: abohmeed
4 Replies

5. UNIX for Advanced & Expert Users

Different redirection behavior in BASH/Linux when run under cron vice login ???

run_xfs_fsr is a xfs filesystem maintenance script designed to run under cron. The system is a home theater personal computer running mythbuntu 10.10, and is accessed remotely for these tests. cron runs a script, (xfs_fsr.sh) at 02:30 that runs the subject script under BASH and sets the... (3 Replies)
Discussion started by: keepitsimpleeng
3 Replies

6. UNIX for Advanced & Expert Users

unexpected behavior bash, set -o vi, history -a, and HISTFILE

I am trying to get my history in sync in multiple bash sections and things aren't working the way I expect. Desired behavior, hitting esc-K in all bash sessions (same userid and machine) will use the same history. Observed behavior: Esc-k shows the history of the current session, rather than... (8 Replies)
Discussion started by: gg48gg
8 Replies

7. UNIX for Dummies Questions & Answers

Im new to bash scriping and i found this expression on a bash script what does this mean.

# check host value regex='^(||1|2|25)(\.(||1|2|25)){3}$' if ')" != "" ]; then if ]; then echo host $host not found exit 4 fi elif ]; then echo $host is an invalid host address exit 5 fi espeacailly the top regex part? ---------- Post updated at 06:58 PM ---------- Previous update was... (1 Reply)
Discussion started by: kevin298
1 Replies

8. UNIX for Advanced & Expert Users

Bash : While Loop behavior

Good Morning I think there may be something I dont understand fully. The following code works well, but I dont like the set domen method. #!/bin/bash # domen="y" while do echo " M A I N - M E N U" echo "1. Contents of /etc/passwd" echo "2. List of users currently logged" echo... (10 Replies)
Discussion started by: popeye
10 Replies

9. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

10. UNIX for Beginners Questions & Answers

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed

In Bash shell - the ps -ef shows only the /bin/bash but the script name is not displayed ? Is there any way to get the script names for the process command ? --- Post updated at 08:39 AM --- in KSH (Korn Shell), my command output shows the script names but when run in the Bash Shell... (3 Replies)
Discussion started by: i4ismail
3 Replies
XSIL2GRAPHICS(1)					User Contributed Perl Documentation					  XSIL2GRAPHICS(1)

NAME
xsil2graphics - generate scripts to load xsil output data files SYNOPSIS
xsil2graphics [options] <xsil_file> DESCRIPTION
Utility program bundled with xmds, used to generate scripts that load simulation output data into either matlab (http://www.mathworks.com) or scilab (http://www.scilab.org), which are then used to manipulate the results further if necessary and then to present the results graphically. Matlab To generate a matlab m-file, from the xsil file data_file.xsil use the command: bash$ xsil2graphics data_file.xsil or bash$ xsil2graphics --matlab data_file.xsil Then at the matlab command prompt: >> data_file Scilab To generate a scilab script file, from the xsil file data_file.xsil use the command: bash$ xsil2graphics --scilab data_file.xsil Then at the scilab command prompt: --> exec('data_file.sci') OPTIONS
-m, --matlab generate matlab m-file script to load data from the xsil data file (the default option) -s, -scilab generate scilab script file to load data from the xsil data file -o, --outfile <out_file> specify an alternative output script filename to the default which is the input xsil filename with the .xsil extension changed to either .m for the matlab m-file or .sci for the scilab script file EXAMPLES
bash$ xsil2graphics nlse.xsil Generates the output nlse.m to load the data into matlab bash$ xsil2graphics -m nlse.xsil Also generates the output nlse.m but explicitly sets matlab to be the output format bash$ xsil2graphics --scilab nlse.xsil Generates the output nlse.sci to load the data into scilab bash$ xsil2graphics --outfile nlse_new.m nlse.xsil Generates the output nlse_new.m to load the data into matlab AUTHORS
Originally written by Greg Collecutt Maintained by Paul Cochrane with code contributed by Joe Hope BUGS
No known bugs. SEE ALSO
xmds(1), loadxsil(1) http://www.xmds.org COPYRIGHT
Copyright (C) 2000-2004 Code contributed by Greg Collecutt, Joseph Hope and Paul Cochrane This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. perl v5.8.2 2004-06-21 XSIL2GRAPHICS(1)
All times are GMT -4. The time now is 09:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy