linux数组包含,shell文件存在的判断 shell数组

判断文件:

WORKDIR=/home/tmp

LOCAL_LIST_FILE=$WORKDIR/local.list

#if no local.txt file, generate a new one

if [ ! -f  "$LOCAL_LIST_FILE" ]; then

touch $LOCAL_LIST_FILE

fi

注意:一定要有空格,判断文件是否存在,如果不存在,就生成一个新的

if [ ! -d /mnt ]        # be sure the directory /mnt exists

then

mkdir /mnt

fi

目录。/mnt是否存在,不存在就生成目录/mnt

The tests below are test conditions provided by the shell:

* -b file = True if the file exists and is block special file.

* -c file = True if the file exists and is character special file.

* -d file = True if the file exists and is a directory.

* -e file = True if the file exists.

* -f file = True if the file exists and is a regular file

* -g file = True if the file exists and the set-group-id bit is set.

* -k file = True if the files' "sticky" bit is set.

* -L file = True if the file exists and is a symbolic link.

* -p file = True if the file exists and is a named pipe.

* -r file = True if the file exists and is readable.

* -s file = True if the file exists and its size is greater than zero.

* -s file = True if the file exists and is a socket.

* -t fd = True if the file descriptor is opened on a terminal.

* -u file = True if the file exists and its set-user-id bit is set.

* -w file = True if the file exists and is writable.

* -x file = True if the file exists and is executable.

* -O file = True if the file exists and is owned by the effective user id.

* -G file = True if the file exists and is owned by the effective group id.

* file1 –nt file2 = True if file1 is newer, by modification date, than file2.

* file1 ot file2 = True if file1 is older than file2.

* file1 ef file2 = True if file1 and file2 have the same device and inode numbers.

* -z string = True if the length of the string is 0.

* -n string = True if the length of the string is non-zero.

* string1 = string2 = True if the strings are equal.

* string1 != string2 = True if the strings are not equal.

* !expr = True if the expr evaluates to false.

* expr1 –a expr2 = True if both expr1 and expr2 are true.

* expr1 –o expr2 = True is either expr1 or expr2 is true.

Shell中的数据问题

ArrayName=("element 1" "element 2" "element 3")  #数组定义

echo ${#ArrayName[@]}

echo "The number of elements in the array is ${#ArrayName[*]}"

例子

#!/bin/bash

# define array

# name server names FQDN

NAMESERVERS=("ns1.nixcraft.net." "ns2.nixcraft.net." "ns3.nixcraft.net.")

# get length of an array

tLen=${#NAMESERVERS[@]}

# use for loop read all nameservers

for (( i=0; i    do

echo ${NAMESERVERS[$i]}

done

Sample output:

ns1.nixcraft.net.

ns2.nixcraft.net.

ns3.nixcraft.net.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值