Unwanted execution instead of saving to environment variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unwanted execution instead of saving to environment variable
# 8  
Old 11-01-2014
Yes sorry about the confusion cause by my ambiguous statement. This sort of data extraction can be a fine line using a too restrictive Regular Expression could result no match at all on newer versions of lscpu or on different OS versions. On the other hand a too open match may result in catching unintended lines like we saw above.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Saving Mod in a variable

Hello Experts, In one of my shell script, I've been trying to calculate mod and saving it in a variable, below is what I have tried but it isn't working. Any help appreciated!!! #!/bin/bash num1=4 num2=3 echo "Number one is $num1" echo "Number two is $num2" mod_final=$(( echo "num1%num2"... (7 Replies)
Discussion started by: mukulverma2408
7 Replies

2. Shell Programming and Scripting

awk - saving results of external script to variable.

So, I've been playing with speeding up some analysis we do by using multiple threads of awk (actually, mawk, but code-compatible as far as I use it) on multiple CPU cores. So, I have a big data file and I have several copies of exactly the same processor script, written in mawk. I also have a... (8 Replies)
Discussion started by: treesloth
8 Replies

3. Shell Programming and Scripting

Non trivial file splitting, saving with variable filename

Hello, Although I have found similar questions, I could not find advice that could help with our problem. The issue: We have a few thousands text files (books). Each book has many chapters. Each chapter is identified by a cite-key. We need to split each of those book files by... (4 Replies)
Discussion started by: samask
4 Replies

4. Shell Programming and Scripting

Expand an environment variable in sed, when the variable contains a slash

I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash". sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error: sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies

5. Shell Programming and Scripting

Trouble saving variable

Hi, I have problems when you save a variable of a command. I have put the following line: CONEXION_BAGDAD = $ (grep-c "Please login with USER and PASS" $ LOG_FILE_BAGDAD) But I returned the following error: syntax error at line 67: `CONEXION_BAGDAD = $ 'unexpected Because it can happen?... (2 Replies)
Discussion started by: danietepa
2 Replies

6. Shell Programming and Scripting

Help with capturing homedir via ssh and saving to variable

I need to capture the homedir using the ssh command and then saving it to a variable. The results from the following command is what I need to capture to a variable: NOTE: the value I'm getting back is also incorrect. as it seems to be getting the home dir from the local server and not the... (2 Replies)
Discussion started by: reneuend
2 Replies

7. Shell Programming and Scripting

Execution issue with shell script - works in a different environment

Hi I get the following error while executing the shell script. I did not get an error when I ran the script in a different environment (unix server). str-token.ksh: 0403-057 Syntax error at line 20 : `(' is not expected. This is the line which gives error string=(${pos_array}) Please find... (3 Replies)
Discussion started by: hidnana
3 Replies

8. UNIX for Dummies Questions & Answers

saving command output to a variable

Hello, I have a shell script containing a command string in the following format: command1 | command2 | cut -c9-16 The output from this is a record number (using characters 9-16 of the original output string) e.g. ORD-1234 I wish to save this value to a variable for use in later commands... (4 Replies)
Discussion started by: philjo
4 Replies

9. Shell Programming and Scripting

saving awk value in a bash array variable

hi all i am trying to save an awk value into an array in bash: total=`awk '{sum+=$3} END {print sum}' "$count".txt"` ((count++)) the above statement is in a while loop.. $count is to keep track of file numbers (1.txt,2.txt,3.txt,etc.) i get the following error: ./lines1:... (1 Reply)
Discussion started by: npatwardhan
1 Replies

10. Shell Programming and Scripting

Saving output from awk into a perl variable

How would I pass awk output to a perl variable? For example, I want to save the value in the 4th column into the variable called test. My best guess is something as follow, but I am sure this isn't correct. $test = system("awk '/NUMBER/{print \$4}' $_"); (8 Replies)
Discussion started by: userix
8 Replies
Login or Register to Ask a Question
WORDEXP(3)						     Linux Programmer's Manual							WORDEXP(3)

NAME
wordexp, wordfree - perform word expansion like a posix-shell SYNOPSIS
#include <wordexp.h> int wordexp(const char *s, wordexp_t *p, int flags); void wordfree(wordexp_t *p); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): wordexp(), wordfree(): _XOPEN_SOURCE DESCRIPTION
The function wordexp() performs a shell-like expansion of the string s and returns the result in the structure pointed to by p. The data type wordexp_t is a structure that at least has the fields we_wordc, we_wordv, and we_offs. The field we_wordc is a size_t that gives the number of words in the expansion of s. The field we_wordv is a char ** that points to the array of words found. The field we_offs of type size_t is sometimes (depending on flags, see below) used to indicate the number of initial elements in the we_wordv array that should be filled with NULLs. The function wordfree() frees the allocated memory again. More precisely, it does not free its argument, but it frees the array we_wordv and the strings that points to. The string argument Since the expansion is the same as the expansion by the shell (see sh(1)) of the parameters to a command, the string s must not contain characters that would be illegal in shell command parameters. In particular, there must not be any unescaped newline or |, &, ;, <, >, (, ), {, } characters outside a command substitution or parameter substitution context. If the argument s contains a word that starts with an unquoted comment character #, then it is unspecified whether that word and all fol- lowing words are ignored, or the # is treated as a non-comment character. The expansion The expansion done consists of the following stages: tilde expansion (replacing ~user by user's home directory), variable substitution (replacing $FOO by the value of the environment variable FOO), command substitution (replacing $(command) or `command` by the output of command), arithmetic expansion, field splitting, wildcard expansion, quote removal. The result of expansion of special parameters ($@, $*, $#, $?, $-, $$, $!, $0) is unspecified. Field splitting is done using the environment variable $IFS. If it is not set, the field separators are space, tab and newline. The output array The array we_wordv contains the words found, followed by a NULL. The flags argument The flag argument is a bitwise inclusive OR of the following values: WRDE_APPEND Append the words found to the array resulting from a previous call. WRDE_DOOFFS Insert we_offs initial NULLs in the array we_wordv. (These are not counted in the returned we_wordc.) WRDE_NOCMD Don't do command substitution. WRDE_REUSE The argument p resulted from a previous call to wordexp(), and wordfree() was not called. Reuse the allocated storage. WRDE_SHOWERR Normally during command substitution stderr is redirected to /dev/null. This flag specifies that stderr is not to be redirected. WRDE_UNDEF Consider it an error if an undefined shell variable is expanded. RETURN VALUE
In case of success 0 is returned. In case of error one of the following five values is returned. WRDE_BADCHAR Illegal occurrence of newline or one of |, &, ;, <, >, (, ), {, }. WRDE_BADVAL An undefined shell variable was referenced, and the WRDE_UNDEF flag told us to consider this an error. WRDE_CMDSUB Command substitution occurred, and the WRDE_NOCMD flag told us to consider this an error. WRDE_NOSPACE Out of memory. WRDE_SYNTAX Shell syntax error, such as unbalanced parentheses or unmatched quotes. VERSIONS
wordexp() and wordfree() are provided in glibc since version 2.1. CONFORMING TO
POSIX.1-2001. EXAMPLE
The output of the following example program is approximately that of "ls [a-c]*.c". #include <stdio.h> #include <stdlib.h> #include <wordexp.h> int main(int argc, char **argv) { wordexp_t p; char **w; int i; wordexp("[a-c]*.c", &p, 0); w = p.we_wordv; for (i = 0; i < p.we_wordc; i++) printf("%s ", w[i]); wordfree(&p); exit(EXIT_SUCCESS); } SEE ALSO
fnmatch(3), glob(3) COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2008-07-14 WORDEXP(3)