Sponsored Content
Full Discussion: Peculiar behavior due to IFS
Operating Systems Linux Peculiar behavior due to IFS Post 302786485 by alister on Wednesday 27th of March 2013 02:14:49 PM
Old 03-27-2013
Quote:
Originally Posted by Corona688
Interesting disctinction.
It makes sense when you consider the effect that field splitting or pathname expansion could have. a=$1 could yield a=word1 word2 which would then execute an unintended command, word2, with a modification to its environment.

This bypassing of actions which can increase the number of tokens also occurs in the case statement: In case word in ..., word is not subject to field splitting and pathname expansion.


Quote:
Originally Posted by Corona688
Interesting disctinction. I've also noticed that IFS applies here:
Code:
set -- `cat file`

But not here:

Code:
set -- $(cat file)

I have not been able to reproduce such behavior nor have I been able to find any documentation implying that such behavior is intentional. Perhaps there's a bug in your shell? Can you specify the shell and demonstrate how you trigger such behavior?

I tried the following on bash 3.1.17 and did not observe any command substitution syntax-dependent difference in field splitting:
Code:
$ echo 1 2 3 > file

$ # With the default value of IFS, <space><tab><newline>
$ # Unquoted

$ set --; echo $#
0
$ set -- `cat file`; echo $#
3
$ set --; echo $#
0
$ set -- $(cat file); echo $#
3

$ # Quoted
$ set --; echo $#
0
$ set -- "`cat file`"; echo $#
1
$ set --; echo $#
0
$ set -- "$(cat file)"; echo $#
1

Regards,
Alister
 

10 More Discussions You Might Find Interesting

1. Linux

SUSE9.1 Peculiar Gigabit Lan performance.

I'm having some peculiar performance issues with my Gigabit Lan. I have some 100Mb devices so I can't do the necessary "jumbo Frame" tweaks for absolute optimum performance as I'd prevent them access. I'm getting appauling transfer rates sending files to the linux machine, around 10 Mbps 3%... (0 Replies)
Discussion started by: Mark Ward
0 Replies

2. Shell Programming and Scripting

a peculiar error with sftp

Whenever I sftped a particular gzipped file to a particular directory and then try to unzip it, I get Permission Denied error. With this file even I cannot do chmod. though the file permissions are -rw-r--r-- When same file I sftp to a different location I am able to gunzip it. Directory... (0 Replies)
Discussion started by: RishiPahuja
0 Replies

3. UNIX for Dummies Questions & Answers

the IFS variable

Hi all, Ok os heres my situation. I have created a database style program that stores a persons info (name,address,phone number etc.) in a file ("database"). after i read in all the values above, i assign them to a line variable: line="$name^$address^$phonenum" >> phonebuk as you can see... (1 Reply)
Discussion started by: djt0506
1 Replies

4. Shell Programming and Scripting

problem with IFS

hi, :) I set IFS=":" But when i try to echo $IFS,i am not getting any thing on the screen escept a blank line. any help pls. cheers RRK (11 Replies)
Discussion started by: ravi raj kumar
11 Replies

5. UNIX for Dummies Questions & Answers

Help on IFS command!

Hi! I am working in korn shell. I want to reset the dimiliter for the set command to "|" but instead of a command prompt return I am getting something as below After issuing the command I am getting this....as if the shell is expecting something else. Can anybody suggest what's the problem. ... (2 Replies)
Discussion started by: udiptya
2 Replies

6. Shell Programming and Scripting

regarding IFS=

hi i am a learner can some explain "export IFS=$(echo "\n\t\a")" i am not able to understand the functionality please help thanks Satya (1 Reply)
Discussion started by: Satyak
1 Replies

7. AIX

Peculiar permission problem

Scenario: Step 1. I'm logging into AIX server using user id called user1 Step 2. I'm traversing to home directory of user2 Note: This user2's home directory has the permissions drwxr-s--- Step 3. I'm issuing command pwd there. I'm getting the expected output. Step 4. I'm issuing the... (3 Replies)
Discussion started by: krishmaths
3 Replies

8. Shell Programming and Scripting

Nested ifs

hi I keep getting an error with this nested if statement and am getting the error unexpected end of file, can anyone help me as to why this wont execute? #!/bin/bash #script to check wether the -i -v statements run correctly removeFile () { mv $1 $HOME/deleted }... (3 Replies)
Discussion started by: somersetdan
3 Replies

9. Shell Programming and Scripting

Bash IFS

I am using bash and resetting IFS as below when reading the command line arguments. I do this so I can call my script as in Ex1. Ex1: ./synt2d-ray3dmod.bash --xsrc=12/20/30 This allows me to split both sides so that when I do "shift" I can get 12/20/30 What I do not understand is... (21 Replies)
Discussion started by: kristinu
21 Replies

10. Shell Programming and Scripting

Not able to understand IFS

Hi , i am in my initial learning phase of unix. i was going thru the function part. below is the example which was there but i am not able to understand logic and the use of IFS(internal field separator) lspath() { OLDIFS="$IFS" IFS=: for DIR in $PATH ; do echo $DIR ; done IFS="$OLDIFS"... (8 Replies)
Discussion started by: scriptor
8 Replies
DEFINE(3)								 1								 DEFINE(3)

define - Defines a named constant

SYNOPSIS
bool define (string $name, mixed $value, [bool $case_insensitive = false]) DESCRIPTION
Defines a named constant at runtime. PARAMETERS
o $name - The name of the constant. o $value - The value of the constant; only scalar and null values are allowed. As of PHP 7 it also possible to use array value. Scalar val- ues are integer, float, string or boolean values. It is possible to define resource constants, however it is not recommended and may cause unpredictable behavior. o $case_insensitive - If set to TRUE, the constant will be defined case-insensitive. The default behavior is case-sensitive; i.e. CONSTANT and Con- stant represent different values. Note Case-insensitive constants are stored as lower-case. RETURN VALUES
Returns TRUE on success or FALSE on failure. CHANGELOG
+--------+---------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------+ | 7.0.0 | | | | | | | | | | array values are allowed. | | | | +--------+---------------------------+ EXAMPLES
Example #1 Defining Constants <?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // outputs "Constant" and issues a notice. define("GREETING", "Hello you.", true); echo GREETING; // outputs "Hello you." echo Greeting; // outputs "Hello you." // Works as of PHP 7 define('ANIMALS', array( 'dog', 'cat', 'bird' )); echo ANIMALS[1]; // outputs "cat" ?> SEE ALSO
defined(3), constant(3), The section on Constants. PHP Documentation Group DEFINE(3)
All times are GMT -4. The time now is 09:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy