NDK14_Linux基础:简单的Shell脚本

NDK开发汇总

注意:

  • 运行环境:Linux
  • #!/bin/bash :所有脚本的头

1 echo 输出

vim 01.sh 创建文件夹

#!/bin/bash
NDK=10
text="i love shell"
text1=`date`
text2=$(who)
echo $NDK
echo $text
echo "$text very much"
echo "\$NDK"
echo $text1
echo $text2

#输出重定向
ls -al > test

修改权限

chmod u+x 01.sh
#chmod g+x 01.sh
#chmod o+x 01.sh

运行:

./01.sh

输出结果:

10 
i love shell
i love shell very much
$NDk
data
bao tty7 2020-03-28 06:18

tst 文件是重定向的内容

2 计算

#!/bin/bash
a=10
b=20
#expr命令
c=$(expr $b / $a)
#方括号
d=$[$a * 2]
#bc 浮点数计算
#| 管道,一个命令的输出作为另外一个命令的输入
#scale是自带的内建变量
e=$(echo "scale=4; $a / 3" | bc)

#内联输入重定向
f=$(bc << EOF
scale=4
a1 = ($a * $b)
a1 / 3
EOF
)


echo "c:$c"
echo "d:$d"
echo "e:$e"
echo "f:$f"

3 if

#!/bin/bash

if test $1
then 
   echo "test ok $1"
else 
   echo "test not"
fi

运行:./03.sh 10,结果:test ok 10

运行:./03.sh,结果:test not

$1 表示输入的第1个值
$0 表示当前执行的脚本文件,./03.sh

命令执行退出的状态:
0 成功
127 没有找到命令
1 未知错误
126 命令不可执行
test数值比较

if [ $1 -eq $2 ] 表示  $1 == $2  
#-eq 等于
-le 小于
-ne 不等于

test字符串比较

str1 == str2
str1 != str2
str1 < str2
-n str1 长度是否非0
-z str1 长度是否为0

文件比较

-d 检查是否存在,并且是一个目录
-e 检查file是否存在
-f 检查是否存在,并且是一个文件
-r 检查是否存在,并且可读
-w、-x
file1 -nt file2 file1比file2新
file1 -ot file2 file1比file2旧

4 case命令

case 变量 in
pattern1) 命令;;
pattern2) 命令;;
*) 默认命令;;
esac

5 for命令

for var in list
do
	命令
done	

6 while命令

while test command
do
	命令
done	

7 导入

source ./04.sh
或者. ./04.sh
04.sh

#!/bin/bash

function add()
{
echo $1
}

add $1

05.sh

#!/bin/bash
#source .04.sh
. ./04.sh

function myfun
{
 echo $value
}

value=30
myfun
echo "add value $(add 50)"

运行:
./05.sh 88
输出结果:
88
30
add value 50

8 Demo

相关shell文件代码

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章