shell 脚本传入参数
来源:互联网 发布:淘宝网店店铺号购买群 编辑:程序博客网 时间:2024/05/21 14:03
写一个 程序名为 test.sh 可带参数为 start 和 stop
执行 test.sh start
执行 start 内容的代码
执行 test.sh stop
执行 stop 内容的代码
#!/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
自变量的接收
接收来自命令行传入的参数,第一个参数用$1表示,第二个参数$2表示,。。。以此类推。注意:$0表示脚本文件名。另外一个在shell编程中经常用到 的是“$@”这个代表所有的参数,。你可以用一个循环来遍历这个参数。如果用java来类比的话,可以把$@看作是man函数中定义的那个数组
for examples:
bash里的语句总是那么的人性化,十分的接近自然语言,在for语句中几乎可以迭代任何类似与集合的数据类型(或许这样个说法不对,但我确实想不到更好的词来代替)。
看一个例子:
#!/bin/bash
for args in $@
do
echo $args
done
把上面这段代码录入保存为showargs.sh设置为可执行(chmod +x showargs.sh)执行:
$ ./showargs.sh arg1 arg2 arg3 arg4
arg1
arg2
arg3
arg4
这个例子中,我们用到了之“$@”,它代表了所有的命令行参数。在这里用for对其进行遍历,系统迭代地从$@中取出命令行参数把他放到args中,最后使用echo $args进行输出。
for更经常用到的是遍历目录,下面的例子用于列出当前目录下的所有文件和文件夹的名称
$ for file in *
> do
> echo $file
> done
这里用*代表当前目录,列出的是所有的文件和文件夹的名称,在这里,文件夹和文件你是分不出来的,如果你需要,你应该用if [-d ${file}]来做一下判断。
对于文件遍历,更有趣的是,你可以在 “in” 后面接上多个表达式。也就是说,你可以一次在遍历多个目录。
下面这段代码能把当前目录下go文件夹和do文件夹里的文件复制到fo文件夹下
#!/bin/bash
for args in ./go/* ./do/*
do
cp ${args} ./fo
echo "copying ${args} to ./fo/${args}"
done
执行
执行
执行 test.sh stop
执行 stop 内容的代码
#!/bin/bash
if [ $1 == "start" ]
fi
自变量的接收
接收来自命令行传入的参数,第一个参数用$1表示,第二个参数$2表示,。。。以此类推。注意:$0表示脚本文件名。另外一个在shell编程中经常用到 的是“$@”这个代表所有的参数,。你可以用一个循环来遍历这个参数。如果用java来类比的话,可以把$@看作是man函数中定义的那个数组
for examples:
bash里的语句总是那么的人性化,十分的接近自然语言,在for语句中几乎可以迭代任何类似与集合的数据类型(或许这样个说法不对,但我确实想不到更好的词来代替)。
看一个例子:
#!/bin/bash
for args in $@
do
done
把上面这段代码录入保存为showargs.sh设置为可执行(chmod +x showargs.sh)执行:
$ ./showargs.sh arg1 arg2 arg3 arg4
arg1
arg2
arg3
arg4
这个例子中,我们用到了之“$@”,它代表了所有的命令行参数。在这里用for对其进行遍历,系统迭代地从$@中取出命令行参数把他放到args中,最后使用echo $args进行输出。
for更经常用到的是遍历目录,下面的例子用于列出当前目录下的所有文件和文件夹的名称
$ for file in *
> do
> echo $file
> done
这里用*代表当前目录,列出的是所有的文件和文件夹的名称,在这里,文件夹和文件你是分不出来的,如果你需要,你应该用if [-d ${file}]来做一下判断。
对于文件遍历,更有趣的是,你可以在 “in” 后面接上多个表达式。也就是说,你可以一次在遍历多个目录。
下面这段代码能把当前目录下go文件夹和do文件夹里的文件复制到fo文件夹下
#!/bin/bash
for args in ./go/* ./do/*
do
done
0 0
- shell 脚本传入参数
- 向shell脚本中传入参数
- 如何给shell脚本传入参数小结
- shell脚本 自定义传入参数选项
- 如何给shell脚本传入参数小结
- shell脚本接收来自命令行传入的参数:
- Shell使用笔记-遍历取脚本外部传入的参数
- Shell脚本接收来自命令行传入的参数
- shell--传入参数的处理
- shell--传入参数的处理
- shell--传入参数的处理
- shell--传入参数的处理
- shell--传入参数的处理
- shell--传入参数的处理
- shell--传入参数的处理
- shell传入参数处理方式
- Shell传入参数的处理
- Shell传入参数的处理
- 夏普将在迪拜推出植物工厂种草莓
- 文件操作工具类
- Linux更改主机名与设置DNS解析及设置IP
- Java Web开发-目录
- JSP基本语法
- shell 脚本传入参数
- 进程间通信(IPC):FIFO
- 将mysql数据库导成sql文件的linux命令
- HDU 3790 最短路径问题(Dijkstra)
- 常用的正则表达式
- 面向项目(八)—— #if defined 与 #ifdef
- 各种Android Dialog创建及其监听事件实现
- 使用google的开源框架Volley,功能一:网络请求Json数据
- Java中IO——NIO