您的位置:首页 > 其它

文章标题

2017-08-25 16:46 183 查看
脚本传参

当我们运行脚本的时候,./shell.sh 10 20

其实10和20 已经传递进去了,我们可以在脚本中用$0, $1,$2获得参数,以此往下类推获得传入的更多参数。在脚本中输出”$#”(美元符和#之间没有空格)就可以输出传入的参数个数,”$#”为内建变量。可以使用$@遍历所有参数。

for param in “$@”

do

 echo “param”

done

输入输出重定向

0 STDIN 标准输入

1 STDOUT 标准输出到屏幕上

2 STDERR 标准错误输出

代表输出重定向,把cc写入到test6文件,>>把xx追加写入到test6文件里

file = test6

echo “cc”> $file

echo “xx” >> $file

&>标准重定向,输出到test7不再输出到屏幕上,在运行时指定

./linux.sh &> test7

或者

./linux.sh 1> test7

在脚本中指定,exec输出重定向,不再输出到屏幕上,输出到test文件中,1>当遇到错误时还会输出到屏幕上,如果想把错误也输出到一个文件中,可以用2>把错误重定向到一个文件

exec 1>test

exec 2>test2

echo “cc”

echo “yy”

函数

格式

小括号和中括号之间一定要有一个空格

function myfun() {

 echo“东方大道”

}

myfun

另一种写法,中括号写到另一行

function myfun

{

 echo “sds”

}

myfun

函数传参

function myfun

{

 echo $1

 echo $2

}

myfun 10 80

返回值$[ $1+$2]

function myfun

{

 echo $[ $1+$2]

}

value=$(myfun 10 90)

echo “value:$value”

局部变量和全局变量

export声明的变量为全局变量,多个脚本都可以使用,其他脚本引用这个脚本的时候可以使用这个全局变量,引入另一个脚本的方式为source 路径+文件名,source ./linux.sh,

source的另一个快捷方式为点 . ./linux.sh=source ./linux.sh

/#全局变量

export ndk=20

/#局部变量

nd=10

传递多个参数,我们想每行输入一个参数,可以空格加\换行,\后一定不要有空格

function build

{

 ./linux.sh - -dhad=aa \

 –dsdsd=a \

 –asds=aad

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: