第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

1.shell學(xué)習(xí)之常用語句

標(biāo)簽:
Java

1.常见符号

  • $0   当前脚本的文件名

  • $n        传递给脚本的参数n,比如$1表示第一个参数

  • $#        传递给脚本或函数的参数个数。

  • $*,$@  传递给脚本或函数的所有参数

  • $?        上个命令的退出状态,或函数的返回值。

  • $$         当前Shell脚本所在的进程ID

示例:

#!/bin/bashfor var in $*do   echo "$var"           #for循环打印所有参数done

 

2.命令分隔符分号";"

  • 作用:可以在同一行上写两个或两个以上的命令

示例:

if [ "$filename" == "$1" ]; then     #执行两条命令echo "File $filename exists.";fi

 

3.双分号;;

  • 作用:用在case语句,类似于C里面的case,用来承担break作用

shell的case语法如下所示:

复制代码

case "变量" in  "变量1")
      ...
  ;;          #这里的双分号类似于break
  "变量2")
      ...
  ;; 
  *)          #匹配剩下的变量n
     ...
  ;; 
esac        #case结束语句

复制代码

示例:

复制代码

#!/bin/base

variable=xyzcase "$variable" inabc) echo "\$variable = abc" ;;
xyz) echo "\$variable = xyz" ;; 
esac

复制代码

打印:

 

 

4. '单引号和"双引号

  • 单引号:  将会阻止所有特殊字符的解释,被单引号括住的内容都是普通字符串

  • 双引号: 引号包围起来的字符串,部分特殊字符将起到它们的作用

示例:

复制代码

#!/bin/bash

a="this is a"b="this is b"echo '${a}'echo "$"

复制代码

打印:

${a}
this is b

 

5.`反引号和$()

  • 都是用来实现命令替换的,可以通过这个将命令的输出赋值到一个变量中去

示例:

echo $(date "+ %Y/%m/%d %H:%M:%S")     #运行date命令echo `date "+ %Y/%m/%d %H:%M:%S"`      #运行date命令c=$(echo hello)                        #打印: c=hello

 

6.${}和$

  • 都是变量替换,不过${}的好处在于,可以精确变量名称(也可以实现字符串替换等,下章来学习)

比如:

A=123echo $AB      #错误,将打印空的一行,因为运行时默认会去找变量值AB的解释echo ${A}B    #正常打印:123B

 

7.冒号:
空命令,一个什么都不干的命令,该命令的返回值为0(true).
示例如下:

:echo $?    # 打印上个命令的返回值,为0

 

由于冒号的返回值为0,所以可以通过>将一个文件清空,但是不会修改该文件权限

示例如下:

: > data.xxx         #如果该文件不存在,则会创建, 与cat /dev/null >data.xxx的作用相同

 

8.()小括号

8.1当用作命令组时
()会启动一个子shell顺序运行,需要注意的是, 由于()里的变量位于子shell中,并不是当前shell中,所以退出()后,变量还是不会变的
示例:

a=1(a=2; echo "a = $a")    #打印a=2echo "a = $a"           #打印a=1,说明变量a并没有改变

 

8.2当用作初始化数组时
示例-遍历数组: 

arr=(1 2 3)             #等价于array[0]=1 array[1]=2 array[2]=3for(( i=0;i<${#arr[@]};i++)) 
doecho ${arr[i]};done;

 

8.3当用作命令替换时
示例:

echo $(date "+ %Y/%m/%d %H:%M:%S")    #运行date命令

 

9.(())双括号

9.1用于for循环时
示例:

for(( i=0;i<5;i++));doecho $i;done


9.2转换运算进制时,可以通过(())将任意数据转为10进制
示例:

echo $((16#ff))    #打印255

 

9.3 用于整数判断时
示例:

if (("$a" < "$b"))if (("$a" <= "$b"))if (("$a" > "$b"))if (("$a" >= "$b"))

 

10.{}大括号
10.1当用做代码块时
像一个匿名函数,但是{}里的变量对其它代码来说是可见的, 并且不会开启新的子shell
示例1:

a=1{
   a=2   echo "a = $a"   #打印a=2} 
echo "a = $a"      #打印a=2,说明已被修改

示例2-写入文件:

#!/bin/bash
{echo 'hello'echo 'this is test file'echo 'end'}  > ./test

效果:

 

10.2当用做遍历时
示例:

echo {1..10}        #打印1 2 3 4 5 6 7 8 9 10for var in {a..z}doecho $var           #打印a~z字母done

 

10.3也可以用作字符变量截取替换时
未完待续,在下一章将学习.

 

11.[ ]和[[]]之间的条件测试区别
11.1 [ ]的参数有以下几种

  • -z: 判断字符串长度为0则为真

  • -n: 判断字符串长度非0则为真

  • -o: 或

  • -a: 与

  • -x: 可执行

  • -r:  可读

  • -w: 可写

11.2当用作文件判断时,有以下几种参数:

  • -e filename  :如果 filename存在,则为真

  • -d filename  :如果 filename为目录,则为真

  • -f filename   :如果 filename为常规文件,则为真

  • -L filename  : 如果 filename为符号链接,则为真

  • -r filename   :如果 filename可读,则为真

  • -w filename  :如果 filename可写,则为真

  • -x filename  :如果 filename可执行,则为真

  • -s filename  :如果文件长度不为0,则为真

  • -h filename  :如果文件是软链接,则为真  

  • filename1 -nt filename2 :如果 filename1比 filename2新,则为真。

  • filename1 -ot filename2 :如果 filename1比 filename2旧,则为真。

示例-检查当前目录的test文件是否存在:

复制代码

#!/bin/bash

testfile="${PWD}/test"if [ -e "$testfile" ];then
      echo " $testfile is exist"fi

复制代码

 

11.3 在比较整数时,都使用-eq -ne –gt –ge –lt -le等
示例:

复制代码

//-eq 判断等于(equal)if [ "$a" -eq "$b" ]//-ne 判断不等于(no equal)if [ "$a" -ne "$b" ]//-gt 大于(greater than)if [ "$a" -gt "$b" ]//-ge 大于等于if [ "$a" -ge "$b" ]//-lt 小于(less than)if [ "$a" -lt "$b" ]//-le 小于等于if [ "$a" -le "$b" ]

复制代码

 

11.4比较字符串时,只能使用!=和=,如果使用大于小于时,则需要加 \ 转义
示例:

复制代码

a="abcde"b="abc"if [ -n "$a" -o "$a" \> "$b" ] #判断a非0,且a>bthenecho "a > b"fi

复制代码

 

11.5而[[]]也能适用于整数和字符串,而且对于整数或者字符串而言,它们都可以支持&&、||、<和>、!=、==
示例:

复制代码

a=11b=11c="abc"e="abcd"if [[ "$a" == "$b" && "$c" < "$e" ]]thenecho "a = b,c < e"fi

复制代码

 

12.~波浪号

  • ~    为home目录

  • ~+  为当前目录,等价于$PWD

示例:

A=~B=~+echo $A            #打印home目录echo $B            #打印当前目录

 

13.延时

  • 在shell中,延时使用sleep命令

示例:

sleep 1     #延时1秒sleep 0.5   #延时0.5秒sleep 1m    #睡眠1分sleep 1h    #睡眠1小时

 

14.变量赋值时的注意

  • 如果变量里存在空白,则必须加上引用

示例:

a= 1 2 3     #将会出错,正确的用法应该是a="1 2 3"

原文出处:https://www.cnblogs.com/lifexy/p/10159634.html  

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消