linux中脚本怎么传参数,Linux shell编程(四)shell脚本中是如何传入参数的

(1)直接用$1,$2取传入的参数

vim /root/test.sh

#!/bin/bash

if [ $1 == "start" ]

then

echo "do start"

command groups

elif [ $1 == "stop" ]

then

echo "do stop"

command group

else

echo "Please make sure the positon variable is start or stop."

fi

#sh test.sh stop

$1取到了stop这个参数,接收来自命令行传入的参数,第一个参数用$1表示,第二个参数$2表示,。。。以此类推。

注意:$0表示脚本文件名。另一个在shell编程中常常用到 的是“$@”这个表明全部的参数,你能够用一个循环来遍历这个参数.shell

(2)使用for循环取全部输入的参数

vim /root/test.sh

#!/bin/bash

for args in $@

do

echo $args

done

把上面这段代码录入保存为test.sh,授限可执行chmod +x test.sh:

#sh /root/test.sh arg1 arg2 arg3 arg4 xxx

输出参数:

arg1

arg2编程

arg3

arg4

xxx

这个例子中,咱们用到了之“$@”,它表明了全部的命令行参数。

在这里用for对其进行遍历,系统迭代地从$@中取出命令行参数把他放到args中,最后使用echo $args进行输出。vim

(3)遍历当前目录下的文件

for更常常用到的是遍历目录,下面的例子用于列出当前目录下的全部文件和文件夹的名称

不用编辑脚本,在命令行,直接输入如下命令:

for file in *

do

echo $file

done

这里用*表明当前目录,列出的是全部的文件和文件夹的名称,在这里,文件夹和文件你是分不出来的,若是你须要,你应该用if [-d ${file}]来作一下判断。

只输出目录名:

vim /test.sh

for file in *

do

if [ -d $file ]; then

echo $file

fi

done

(4)对于文件遍历,能够在 “in” 后面接上多个表达式。也就是说,你能够一次在遍历多个目录。

下面这段代码能把当前目录下/etc文件夹和/var文件夹里的文件

#!/bin/bash

for args in /etc/* /var/*

do

echo "print ${args} "

donebash

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值