Sponsored Content
Top Forums UNIX for Advanced & Expert Users Problem with shell script while spaces encountered in directory names Post 302977700 by bakunin on Thursday 21st of July 2016 08:05:01 AM
Old 07-21-2016
Quote:
Originally Posted by Scrutinizer
there are no line length limitations to a for loop, which is part of the shell syntax, so the limitations of passing parameters to a subprocess do not apply
Yes - and No: the maximum number of passed arguments will not apply but the maximum line length will. Suppose you have a line like:

Code:
for x in * [; do ....]

and you execute that in a directory with really many files, it will first be expanded by the shell to:

Code:
for x in fileA fileB fileC [...]

and if the really many filenames make this line too long for the shells input parser to fathom you will be in deep kimchi. I give you that: some shells don't care for system constants like "LINE_MAX", but as far as i know a POSIXly correct utility has only to be able to digest lines up to that length. Above that all bets are off. So, if you want to stay on the safe side you better do not require something that is optional in the standards.

From /usr/include/sys/limits.h on a rather up-to-date AIX 7.1-system:

Code:
/* The system supports the following utility limit minimum values */

#define _POSIX2_BC_BASE_MAX     99   /* max ibase and obase values for bc     */
#define _POSIX2_BC_DIM_MAX      2048 /* max num elements in array for bc      */
#define _POSIX2_BC_SCALE_MAX    99   /* max scale value allowed by bc         */
#define _POSIX2_BC_STRING_MAX   1000 /* max len of string constant by bc      */
#define _POSIX2_EQUIV_CLASS_MAX 2    /* this define is obsolete               */
#define _POSIX2_COLL_WEIGHTS_MAX 2   /* max num weight for LC_COLLATE order   */
#define _POSIX2_EXPR_NEST_MAX   32   /* max num expression nested for expr    */
#define _POSIX2_LINE_MAX        2048 /* max len of utility input line         */
#define _POSIX2_RE_DUP_MAX      255  /* max num repeated reg for interval not */

I hope this helps.

bakunin
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Directory names that contain spaces and other suggestions?

The script below was written to select files and convert a particular string to something other and replace that file. However, I came across some issues with filenames that contain spaces, any suggestions to get around this? Any other suggestions that may apply to this code would also be... (5 Replies)
Discussion started by: Shakey21
5 Replies

2. Solaris

Encountered a strange problem with doing a restore

Hi Unix Guru's, I have encountered a strange problem with doing a restore on a local sunu machine. We have 2 live system (v880, v450) and 1 test system v440. All the machines are sun4u and using sun os 8.0 We have 2 backup device. One Bcakup device connected with v880 and another backup... (0 Replies)
Discussion started by: cpandian
0 Replies

3. Shell Programming and Scripting

Dealing with spaces in file names in a shell script

Hi, What's the best way to find all files under a directory - including ones with space - in order to apply a command to each of them. For instance I want get a list of files under a directory and generate a checksum for each file. Here's the csh script: #!/bin/csh set files = `find $1... (5 Replies)
Discussion started by: same1290
5 Replies

4. UNIX for Dummies Questions & Answers

Problem with spaces in directory path

Hi Gurus, I have a requirement. cat /usdd/Sample/"NDDF Plus DB"/"NDDF Descriptive and Pricing"/"NDDF BASICS 3.0"/"Pricing"/1.txt | sed 's/*|*/|/g' | sed 's/^*//'| sed 's/^*//; s/*$//' > temp.txt In unix prompt the above command is reading the file 1.txt and I am... (1 Reply)
Discussion started by: prabhutkl
1 Replies

5. Shell Programming and Scripting

Problem with blank spaces in shell script

Hi, I did the following script: DIR=`pwd`;for i in `find . -name GESTION -type d`;do cd $i/..;setfacl -R -m g:directores:rwx, GESTION;echo $DIR'/'$i;cd $DIR;done This code do the following actions: 1. Starting inside a folder, it's searching for any folder called "GESTION" 2. Every time... (3 Replies)
Discussion started by: argie01
3 Replies

6. Shell Programming and Scripting

problem switching to directory using shell script

Hi, I have an issue with switching to other directory through shell script. I have used cd /Music" but that doesn't help me. Then I have also tried using alias proj 'Music' alias then I get the error permission denied but i set the chmod 777 Music. I am using cShell for my... (3 Replies)
Discussion started by: baluk
3 Replies

7. Shell Programming and Scripting

making find/sed to include directory names with spaces

how can i make find/sed to include directory names with spaces the command is like this for i in `find wp-content/themes -type f -print0 | xargs -0 grep -l -iE 'e'`;do sed -i -e 's/word1/word2/gI' "$i";done but it skips one directory names with spaces sed: can't read ./Nova: No such... (5 Replies)
Discussion started by: vanessafan99
5 Replies

8. Shell Programming and Scripting

Shell Script to Enter a Directory (Folder Name Contains Spaces)

I am writing a shell script to cd to a folder. folder name is "October Scripts" I am currently storing the name of folder in a shell variable as so path="October\ Scripts/". If I do cd $path I receive the error bash: cd: October\: No such file or directory What am I doing wrong? Kindly... (3 Replies)
Discussion started by: anand2308
3 Replies

9. Shell Programming and Scripting

Selecting/using part of directory names in script

I'm making a shell script to: -copy directories to a new location -perform conversions on the files within the copied directories -move the newly created files to a new directory Please see my super basic script and notes below... and thank you thank you thank you in advance !! ... (1 Reply)
Discussion started by: kayzee
1 Replies
stat.h(3HEAD)							      Headers							     stat.h(3HEAD)

NAME
stat.h, stat - data returned by stat system call SYNOPSIS
#include <sys/types.h> #include <sys/stat.h> DESCRIPTION
The system calls stat, lstat and fstat return data in a stat structure, which is defined in <stat.h>. The constants used in the st_mode field are also defined in this file: #define S_IFMT /* type of file */ #define S_IAMB /* access mode bits */ #define S_IFIFO /* fifo */ #define S_IFCHR /* character special */ #define S_IFDIR /* directory */ #define S_IFNAM /* XENIX special named file */ #define S_INSEM /* XENIX semaphore subtype of IFNAM */ #define S_INSHD /* XENIX shared data subtype of IFNAM */ #define S_IFBLK /* block special */ #define S_IFREG /* regular */ #define S_IFLNK /* symbolic link */ #define S_IFSOCK /* socket */ #define S_IFDOOR /* door */ #define S_ISUID /* set user id on execution */ #define S_ISGID /* set group id on execution */ #define S_ISVTX /* save swapped text even after use */ #define S_IREAD /* read permission, owner */ #define S_IWRITE /* write permission, owner */ #define S_IEXEC /* execute/search permission, owner */ #define S_ENFMT /* record locking enforcement flag */ #define S_IRWXU /* read, write, execute: owner */ #define S_IRUSR /* read permission: owner */ #define S_IWUSR /* write permission: owner */ #define S_IXUSR /* execute permission: owner */ #define S_IRWXG /* read, write, execute: group */ #define S_IRGRP /* read permission: group */ #define S_IWGRP /* write permission: group */ #define S_IXGRP /* execute permission: group */ #define S_IRWXO /* read, write, execute: other */ #define S_IROTH /* read permission: other */ #define S_IWOTH /* write permission: other */ #define S_IXOTH /* execute permission: other */ The following macros are for POSIX conformance (see standards(5)): #define S_ISBLK(mode) block special file #define S_ISCHR(mode) character special file #define S_ISDIR(mode) directory file #define S_ISFIFO(mode) pipe or fifo file #define S_ISREG(mode) regular file #define S_ISSOCK(mode) socket file ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
stat(2), types.h(3HEAD), attributes(5), standards(5) SunOS 5.11 30 Aug 2002 stat.h(3HEAD)
All times are GMT -4. The time now is 02:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy