标签:
显式赋值:your_name="jans"用语句赋值:for file in `ls /etc` (注意:这里不是单引号,是反引号)echo $your_name 或者 echo ${your_name} 一般尽量带上大括号your_name="jessica" 注意:重新定义的时候不能使用$,只有使用变量的时候才用$str=‘this is a string‘ //单引号中不能出现变量,单引号中不能出现单引号(转移的单引号也不行)str="hello,I know you are \"$your_name\"!! \n" //双引号中可以有变量,可以出现转义字符 a="hello " b="world!" echo $a $b echo ${#your_name} echo ${your_name:1:4} //输出第2到第5,一共4个字符 string="alibaba is a great company" echo `expr index "$string" is`#输出:8,这个语句的意思是:找出单词is在这名话中的位置在linux中[是一个命令,在/usr/bin/[,所以[后面一定要加空格 if condition1; then command1; elif condition2; command2; commandN; else command; fi[ ] && 和 [ ] ||&&如果是“前面”,则“后面”[ -f /var/run/dhcpd.pid ] && rm /var/run/dhcpd.pid 检查文件是否存在,如果存在就删掉||如果不是“前面”,则后面[ -f /usr/sbin/dhcpd ] || exit 0 检验文件是否存在,如果存在就退出[ -z "\$1" ] && help 如果第一个参数不存在,就显示help[ "\$1" = "-h" ] && help 如果第一个参数是-h,就显示helpfor i in item1 item2 itemNdo command1 command2done写成一行:for i in item1 item2...itemN;do command1;command2;done;for i in $(seq 0 4);do echo "second for :$i";donefor i in `seq 0 4`;do echo "third for:$i";done for i in {0..4};do echo "fourth for:$i";donefor (( i=0; i<10; i++))do command1; command2;done while condition do command done while : do command done while true do command donefor (( ; ; )) until condition do command done 每个case需要esac作为结束标记,用)表示分支,用两个分号表示break case "${var}" in "Aoptions" ) commandA exit ;; "Boption" ) commandB exit ;; "Exit" ) exit ;; * ) echo "Bad option,please choose again" esac#!/bin/bashPS3="请选择菜单"select i in "java" "php" "scala" "spark"do echo "你选择了:"$i $i $i exitdoneif [ -f file ] 如果文件存在if [ -d ... ] 如果目录存在if [ -s file ] 如果文件存在且非空if [ -r file ] 如果文件存在且可读if [ -w file ] 如果文件存在且可写if [ -x file ] 如果文件存在且可执行if [ int1 -eq int2 ] 如果int1等于int2 if [ int1 -ne int2 ] 如果不等于if [ int1 -ge int2 ] 如果>=if [ int1 -gt int2 ] 如果>if [ int1 -le int2 ] 如果<=if [ int1 -lt int2 ] 如果<if [ \$a = \$b ] 如果string1等于string2if [ \$string1 != \$string2 ] 如果string1不等于string2 if [ -n \$string ] 如果string 非空(非0),返回0(true)if [ -z \$string ] 如果string 为空if [ \$string ] 如果string 非空,返回0 (和-n类似)逻辑非 ! //if [ ! -d \$num ] 如果不存在目录$num逻辑与 –a //if [ 表达式1 –a 表达式2 ]逻辑或 -o //if [ 表达式1 –o 表达式2 ]例如:if [ -z "\$JHHOME" -a -d \$HOME/\$num ]如果变量\$JHHOME为空,且\$HOME/\$num目录存在| #!/bin/sh if cat 111-tmp.txt | grep ting1 then echo found else echo “no found” fi |
#!/bin/sh cat 111-tmp.txt | grep ting1 if [ $? -eq 0 ] then echo $? echo found else echo $? echo “no found” fi |
标签:
原文地址:http://www.cnblogs.com/qlong8807/p/5685436.html