Sponsored Content
Top Forums Shell Programming and Scripting Complex: bash, using ANSI-C quotes in skript Post 303013418 by mpmichael on Wednesday 21st of February 2018 07:22:19 AM
Old 02-21-2018
Complex: bash, using ANSI-C quotes in skript

Hello,

I hope someone can hep with this. I use a skript to send multiline Data to a Monitoring system. Bu I'm not able to use linebreaks or escape sequences.

The skript is simple like that:

Code:
#!/bin/bash
var="Erste Zeile \n zweite Zeile \n Dritter Teil" 
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "$zabitem" -o "$var"

This works - but without the linebreaks. If I use the command on commandline with:
Code:
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "$zabitem" -o $'Erste Zeile \n zweite Zeile \n Dritter Teil'

the result is fine!

The question ist - how can I use the $'string' with string as a variable (like $var).

Thank you and best regards
mpm
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert file from Unix - ANSI to PC - ANSI

Hi, I am creating a file in Unix using a shell script. The file is getting created in the Unix - ANSI format. My requirement is to convert it to the PC - ANSI format. Can anyone tell me how to do this? Thanks, Sunil (0 Replies)
Discussion started by: ssmallya
0 Replies

2. Shell Programming and Scripting

Retain quotes from bash script arguments

Hi there, I've been scouring these forums and have found similar threads, but none apparently helped me solved my problem :rolleyes: I'd like to run a command within a bash script, but that command is provided by the user to the script and may contain quotes, which is where the problem lies.... (9 Replies)
Discussion started by: cypression
9 Replies

3. Shell Programming and Scripting

how to use in bash variables and quotes

I have some troubles with variables and quotes... I want: if $URL is empty (no user input) go to http://www.localhost/index.php/ else add this string (search) "?s=+$URL" EXAMPLE: No user input string= http://www.localhost/index.php/ User input = "unix" string=... (3 Replies)
Discussion started by: aspire
3 Replies

4. Shell Programming and Scripting

Howto make ksh skript bash-compatible with backticks

I have the following ksh-script: #!/bin/ksh # Ueberprüfe, ob genau ein Parameter angegeben wurde test "$#" -eq "1" || { echo "USAGE: path_cleanup <PATH_NAME>"; return 1; } # Ueberpruefe, ob awk und nawk installiert sind test -x /bin/nawk || { echo "ERROR: nawk is not installed"; return 1;... (2 Replies)
Discussion started by: doc_symbiosis
2 Replies

5. Programming

why the implementatoin of Bakery algorithm in ANSI C does not work in ANSI C

I follow the description of wiki (Lamport's bakery algorithm - Wikipedia, the free encyclopedia), then implement that algorithm in C, but it doesn't work, Starving is still here, is the implementation worry? Only print out: Thread ID: 0 START! Thread ID: 0 END! Thread ID: 0 START!... (2 Replies)
Discussion started by: sehang
2 Replies

6. UNIX for Dummies Questions & Answers

Is there a way to set ' and " as a non quotes type in bash?

Howdy, I got a script that adds a esc char before all chars interpeted by bash shell but I wan't other solution. Is there a way to set ' and " as a non quotes type in bash (some local variable)? Have found that scsh is a non-quoting type shell but after reading Why I don't use scsh as a scripting... (3 Replies)
Discussion started by: johny_be_good
3 Replies

7. Shell Programming and Scripting

How to count number of double quotes in bash

Need a little help. I have just a simple string with a lot double quotes in it. I need to be able to parse through this string, and know how many double quotes I have, and where I am, so I can key off every 9th double quote. For example (coding is not complete): #!/bin/bash count=0... (3 Replies)
Discussion started by: Akilleez
3 Replies

8. Shell Programming and Scripting

Complex bash/sed, variables and nested quotes

Ok, this one isn't for everybody, it's pretty tough and I've spent a good deal of time on it without figuring it out yet. Can anybody get this script to work: #!/bin/bash cq_fname="%let outputfile="/user/cq_"$1".csv";" sed "29s/.*/\"$cq_fname\"/" file1.sas >... (3 Replies)
Discussion started by: nocloud
3 Replies

9. UNIX for Beginners Questions & Answers

Bash not recognizing single quotes in Mac?

Hi, I just bought a new mac and have been running a program out of terminal, but even early on I noticed that my single quotes looked a lot different from the ones used in all of the namelists and other files of the program. Specifically, mine are kind of slanted whereas the others are very... (7 Replies)
Discussion started by: jtcastro99
7 Replies

10. Shell Programming and Scripting

Help with Complex Bash Script

I have an FTP server with thousands of Invoices. All Invoices are in a folder called /volume1/MBSInvoices/ Monthly invoices are added to that folder every month. Here is a sample filename of the Invoices: invoice_1_20170101_10010052_10020052_10030052_JOHNDOE.pdf the Account ID is the... (6 Replies)
Discussion started by: badr777
6 Replies
FindRef(3pm)						User Contributed Perl Documentation					      FindRef(3pm)

NAME
Devel::FindRef - where is that reference to my variable hiding? SYNOPSIS
use Devel::FindRef; print Devel::FindRef::track $some_variable; DESCRIPTION
Tracking down reference problems (e.g. you expect some object to be destroyed, but there are still references to it that keep it alive) can be very hard. Fortunately, perl keeps track of all its values, so tracking references "backwards" is usually possible. The "track" function can help track down some of those references back to the variables containing them. For example, for this fragment: package Test; use Devel::FindRef; use Scalar::Util; our $var = "hi "; my $global_my = $var; our %global_hash = (ukukey => $var); our $global_hashref = { ukukey2 => $var }; sub testsub { my $testsub_local = $global_hashref; print Devel::FindRef::track $var; } my $closure = sub { my $closure_var = $_[0]; Scalar::Util::weaken (my $weak_ref = $var); testsub; }; $closure->($var); The output is as follows (or similar to this, in case I forget to update the manpage after some changes): SCALAR(0x7cc888) [refcount 6] is +- referenced by REF(0x8abcc8) [refcount 1], which is | in the lexical '$closure_var' in CODE(0x8abc50) [refcount 4], which is | +- the closure created at tst:18. | +- referenced by REF(0x7d3c58) [refcount 1], which is | | in the lexical '$closure' in CODE(0x7ae530) [refcount 2], which is | | +- the containing scope for CODE(0x8ab430) [refcount 3], which is | | | in the global &Test::testsub. | | +- the main body of the program. | +- in the lexical '&' in CODE(0x7ae530) [refcount 2], which was seen before. +- referenced by REF(0x7cc7c8) [refcount 1], which is | in the lexical '$global_my' in CODE(0x7ae530) [refcount 2], which was seen before. +- in the global $Test::var. +- referenced by REF(0x7cc558) [refcount 1], which is | in the member 'ukukey2' of HASH(0x7ae140) [refcount 2], which is | +- referenced by REF(0x8abad0) [refcount 1], which is | | in the lexical '$testsub_local' in CODE(0x8ab430) [refcount 3], which was seen before. | +- referenced by REF(0x8ab4f0) [refcount 1], which is | in the global $Test::global_hashref. +- referenced by REF(0x7ae518) [refcount 1], which is | in the member 'ukukey' of HASH(0x7d3bb0) [refcount 1], which is | in the global %Test::global_hash. +- referenced by REF(0x7ae2f0) [refcount 1], which is a temporary on the stack. It is a bit convoluted to read, but basically it says that the value stored in $var is referenced by: - the lexical $closure_var(0x8abcc8), which is inside an instantiated closure, which in turn is used quite a bit. - the package-level lexical $global_my. - the global package variable named $Test::var. - the hash element "ukukey2", in the hash in the my variable $testsub_local in the sub "Test::testsub" and also in the hash "$referenced by Test::hash2". - the hash element with key "ukukey" in the hash stored in %Test::hash. - some anonymous mortalised reference on the stack (which is caused by calling "track" with the expression "$var", which creates the reference). And all these account for six reference counts. EXPORTS
None. FUNCTIONS
$string = Devel::FindRef::track $ref[, $depth] Track the perl value pointed to by $ref up to a depth of $depth and return a descriptive string. $ref can point at any perl value, be it anonymous sub, hash, array, scalar etc. This is the function you most often use. @references = Devel::FindRef::find $ref Return arrayrefs that contain [$message, $ref] pairs. The message describes what kind of reference was found and the $ref is the reference itself, which can be omitted if "find" decided to end the search. The returned references are all weak references. The "track" function uses this to find references to the value you are interested in and recurses on the returned references. $ref = Devel::FindRef::ptr2ref $integer Sometimes you know (from debugging output) the address of a perl scalar you are interested in (e.g. "HASH(0x176ff70)"). This function can be used to turn the address into a reference to that scalar. It is quite safe to call on valid addresses, but extremely dangerous to call on invalid ones. # we know that HASH(0x176ff70) exists, so turn it into a hashref: my $ref_to_hash = Devel::FindRef::ptr2ref 0x176ff70; $ref = Devel::FindRef::ref2ptr $reference The opposite of "ptr2ref", above: returns the internal address of the value pointed to by the passed reference. No checks whatsoever will be done, so don't use this. ENVIRONMENT VARIABLES
You can set the environment variable "PERL_DEVEL_FINDREF_DEPTH" to an integer to override the default depth in "track". If a call explicitly specified a depth it is not overridden. AUTHOR
Marc Lehmann <pcg@goof.com>. COPYRIGHT AND LICENSE
Copyright (C) 2007, 2008 by Marc Lehmann. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2009-08-30 FindRef(3pm)
All times are GMT -4. The time now is 08:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy