File operator command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting File operator command
# 15  
Old 06-13-2015
Thanks, the NOTE explains the difference in md5.
# 16  
Old 06-13-2015
Quote:
Originally Posted by MadeInGermany
Thanks Don and Scrutinizer for pointing that out; the bash man page was not clear for me.
Anyway, I would prefer [[ 0 -ne $# ]] or [ 0 -ne $# ] that would also recognize empty arguments:
Code:
set -- ""
[[ -n $* ]] && echo non-empty arg "$1"
[[ 0 -ne $# ]] && echo arg "$1"

Note that $* expanding to a non-empty list says absolutely nothing about the contents of the 1st positional parameter. With a default IFS, it doesn't even tell you if any of the positional parameters are empty. (In that case, it just tells you that there are two or more positional parameters. With the default IFS, $* expands to a list of positional parameters separated by spaces.) The following, when run with ksh93:
Code:
set -- "" ""
set -xv
unset IFS
echo no IFS
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list
echo default IFS
IFS=$' \t\n'
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list
echo empty IFS
IFS=
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list

produces the output:
Code:
unset IFS
+ unset IFS
echo no IFS
+ echo no IFS
no IFS
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list
+ [[ -n ' ' ]]
+ echo non-empty arg list '"' '"'
non-empty arg list " "
echo default IFS
+ echo default IFS
default IFS
IFS=$' \t\n'
+ IFS=$' \t\n'
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list
+ [[ -n ' ' ]]
+ echo non-empty arg list '"' '"'
non-empty arg list " "
echo empty IFS
+ echo empty IFS
empty IFS
IFS=
+ IFS=''
[[ -n $* ]] && echo non-empty arg list \"$*\" || echo empty arg list
+ [[ -n '' ]]
+ echo empty arg list
empty arg list

You get similar output with bash, but the trace output is slightly different.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to use pipe operator as simple character in text file?

Hello all, I have two files which are cmd and disk. `$cat cmd lsdev | grep -iw` `$cat disk hdisk2` Now I want to use the contents of both the files in a way such that `lsdev | grep -iw` command works for hdisk2 when I write the following script: `!#/bin/sh cmd1="$( sed -n... (4 Replies)
Discussion started by: ravi.trivedi
4 Replies

2. Shell Programming and Scripting

perl's substitution operator "s" with file contents?

Please show me how to make substitution over the contents of a file in a perl script. In a perl script, the core part of substitution operation is s/FINDPATTERN/REPLACEPATTERN/g; However, I cannot figure out how to make the substitution occur over the contents of a file. The following... (3 Replies)
Discussion started by: LessNux
3 Replies

3. Shell Programming and Scripting

Problem in test file operator on a ufsdump archive file mount nfs

Hi, I would like to ask if someone know how to test a files if exist the file is a nfs mount ufsdump archive file.. i used the test operator -f -a h almost all test operator but i failed file1=ufs_root_image.dump || echo "files doesn't exist && exit 1 the false file1 is working but... (0 Replies)
Discussion started by: jao_madn
0 Replies

4. UNIX for Dummies Questions & Answers

+= operator

im new to bash scripting and im just using online tutorials and trial and error. i wanted to write a script to read numbers from a file and find their sum: #!/bin/bash theSum=0 for line in $(cat numbers.txt) do let "theSum = theSum + $line" echo "$line" done echo "The sum is... (3 Replies)
Discussion started by: astrolux444
3 Replies

5. UNIX for Dummies Questions & Answers

su with << operator

All, THe below is my script , when i use this i am getting nothing . could any one help me to know what is the use of the << operator below su - $8 << supo echo "exportsph $2 $1 $3 $4" exportsph $2 $1 $3 $4 supo i also tried as individual command su - userid << supo , when i do... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

6. Shell Programming and Scripting

How can I use a pipe operator in a variable: OPTION="| command"?

I have a string of commands I am piping some data through and I want to allow command line switches to select which commands are used. I want to do something like this: OPTION="| command3" command1 -a -b c.txt | command2 -d -e $OPTION >result.txt I want to do it that way because OPTION may be... (1 Reply)
Discussion started by: KenJackson
1 Replies

7. Shell Programming and Scripting

FIle (directory) test operator (bash)

I'm almost pulling out my hair trying to figure out what's wrong with this... there's no reason I can see that it shouldn't be working. It seems that the code acts as though the conditional statement is true no matter what - I've even tried removing the negation operator, but it always goes into... (5 Replies)
Discussion started by: wildbluefaerie
5 Replies

8. Shell Programming and Scripting

Checking if file exists using a NOT operator and shell variable

Hi, I'm new to UNIX, at least shell programming and am having trouble figuring out a problem i'm having. In one section in my nested if statement, i want the program to test if the file does not exist, based on an argument supplied at the command line by the user. What i have is elif ; then... (3 Replies)
Discussion started by: rowlf
3 Replies

9. UNIX for Dummies Questions & Answers

File already exists error while using '>' operator

hi i am using the below code grep -v '^$' file1.lst >file1.lst but it gives file1.lst already exists. And i want to over rite on the same file Whats the work around? (5 Replies)
Discussion started by: jathin12
5 Replies

10. Programming

new operator

Hi, Please clear the 2 questions, 2 Questions, 1) Why the new as a operator? Is there any special reason why it can't be a function like malloc? 2) How are we considering sizeof(),new are as a opearartors? I know + - * / -> , . etc.. are operators, which criteria satisfied by sizeof()... (4 Replies)
Discussion started by: Nagapandi
4 Replies
Login or Register to Ask a Question