Sponsored Content
Top Forums Shell Programming and Scripting bash, command line substitution Post 302555754 by Corona688 on Thursday 15th of September 2011 01:23:18 PM
Old 09-15-2011
Quote:
Originally Posted by skippyV
If we take the above line and paste it "as is" into the call to Script B:
Code:
/home/scriptB.sh  one  two  "th ree"

then the args get separated as desired.
But if we try to configure a variable with the same contents as the above string AND we want the same result:
Code:
/home/scriptB.sh $mystr

then it does not work for me.
Ah. I see now.

The only way to perfectly do what you want is eval, which isn't just awkward, it's dangerous:
Code:
# eval considers a string as its own shell statement, which 
# will process one two "th ree" as three strings as intended.
$ STR='one two "th ree"'
$ eval "printf \"%s\n\" $STR"
one
two
th ree

# But this means it will swallow ANY valid shell syntax, including
# backticks, variable assignments, etc, etc, etc.
# Someone could make your program do anything by feeding
# it the right string.
$ STR='one two "th ree" `touch /`'
$ eval "printf \"%s\n\" $STR"
touch: setting times of `/': Permission denied
one
two
th ree

Why not just use an array in the first place? Much simpler, much safer.
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[bash] command line substitution with environmental variables

Hi, I'm using an array that contains compiler FLAGS that need to be executed either before ./configure or after the main 'make' command. example of array containing compiler flags. ------------------------------------------------- FLAGS="CFLAGS=\"-arch x86_64 -g -Os -pipe... (7 Replies)
Discussion started by: ASGR
7 Replies

2. AIX

Typing "bash" at the command line spawns two bash processes

Server: IBM p770 OS: AIX 6.1 TL5 SP1 When one of our develoeprs types "bash" on the command line to switch shells, it hangs. For some reason, two bash processes are created....the first bash process spawns a second bash process in the same console, causing a hang. Anyone have any idea what... (2 Replies)
Discussion started by: wjssj
2 Replies

3. UNIX for Dummies Questions & Answers

Running set options from the command line and bash command

I'm reading about debugging aids in bash and have come across the set command. It says in my little book that an addition to typing set you can also use them "on the command line when running a script..." and it lists this in a small table: set -o option Command Line... (5 Replies)
Discussion started by: Straitsfan
5 Replies

4. Shell Programming and Scripting

Bash - Loading a command's output line by line into an array

I have been trying this a lot of different ways and haven't found too much online. Here's what I've got so far: j=0 declare -a first zero=(`cat $tmpfile`) for i in "${zero}" do command $i >> "${first}" ... (4 Replies)
Discussion started by: Azrael
4 Replies

5. Shell Programming and Scripting

How to Force command substitution evaluation in bash?

OK, I'm striving to abide by all the rules this time. Here is a fragment of my windows10/cygwin64/bash script: export BUPLOG=$(BackupRecords --log "$src") robocopy $(BackupRecords -mrbd "$src" --path "$src") $(BackupRecords --appSwitches "$src") "$src" "$dst" $(BackupRecords --fileSwitches... (0 Replies)
Discussion started by: siegfried
0 Replies

6. Shell Programming and Scripting

How to Force command substitution evaluation in bash?

OK, I'm striving to abide by all the rules this time. Here is a fragment of my windows10/cygwin64/bash script: export BUPLOG=$(BackupRecords --log "$src") robocopy $(BackupRecords -mrbd "$src" --path "$src") $(BackupRecords --appSwitches "$src") "$src" "$dst" $(BackupRecords --fileSwitches... (15 Replies)
Discussion started by: siegfried
15 Replies

7. Shell Programming and Scripting

Cp command works on command line but not in bash

The below command moves all the .vcf files into the directory. cp /home/cmccabe/Desktop/test/vcf/overall/stats/*.vcf /home/cmccabe/Desktop/NGS/annovar When I use a bash wrapper the target.txt gets created but the text files do not get copied. All the paths are the same, but not sure why... (2 Replies)
Discussion started by: cmccabe
2 Replies

8. Shell Programming and Scripting

How to run several bash commands put in bash command line?

How to run several bash commands put in bash command line without needing and requiring a script file. Because I'm actually a windows guy and new here so for illustration is sort of : $ bash "echo ${PATH} & echo have a nice day!" will do output, for example:... (4 Replies)
Discussion started by: abdulbadii
4 Replies

9. UNIX for Beginners Questions & Answers

Question on bash command line

OS : RHEL / Oracle Linux 6.8 In bash shell, how can I replace a character under the cursor with another character ? In the below example , after I typed the following line, I realized that I meant 7013 and not 2013. So I move the cursor to the left and keep it on top of 2 (of 2013) and I want... (7 Replies)
Discussion started by: kraljic
7 Replies
Types(3)						User Contributed Perl Documentation						  Types(3)

NAME
Mac::Types - Macintosh Toolbox Types and conversions. DESCRIPTION
Access to Inside Macintosh is essential for proper use of these functions. Explanations of terms, processes and procedures are provided there. Any attempt to use these functions without guidance can cause severe errors in your machine, including corruption of data. You have been warned. Functions MacPack [ CONVERTERS ...] CODE, DATA ... Convert a perl value into a Mac toolbox type. Predefined codes are: TEXT Text (an identity operation). enum type keyw A 4-byte string. bool A boolean. shor A short integer. long A long integer. sing A single precision float. doub A double precision float. magn An unsigned long. qdrt A QuickDraw "Rect". 'STR ' A pascal style string. 'STR#' A string list. 'fss ' A file specification record. You can pass further code mappings as hash references. MacUnpack [ CONVERTERS ...] CODE, DATA Convert a Mac toolbox type into a perl value. Predefined codes are as for "MacPack". You can pass further code mappings as hash references. XS Functions Debugger [ MSG ] Break into MacsBug. Don't use this if you don't know what MacsBug is. AUTHOR
Written by Matthias Ulrich Neeracher <neeracher@mac.com>. Currently maintained by Chris Nandor <pudge@pobox.com>. perl v5.16.2 2013-08-25 Types(3)
All times are GMT -4. The time now is 09:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy