文章标题

脚本传参
当我们运行脚本的时候,./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
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值