从命令行参数获取Shell脚本参数
很多时候我们写完脚本都需要指定一些变量,这些变量可能根据实际的环境而值不同。所以如何在 shell 脚本中接收到不同的变量值了?
获取参数
shell 脚本获取参数的方式很多,我只记录我用过的一种:filebeat.sh
1 | !/bin/bash |
shell 文件都是用#!/bin/bash
作为第一行,我们在 filebeat.sh 中获取两个参数,如何使用这个脚本了?sh filebeat.sh param1 param2
param1 我们在脚本中使用$1
获取,param2 我们在脚本中使用$2
获取,以此类推。
如果要在文件中替换某个特殊文字或者字符如果值中带有/path/to/file
,这种带有/
的字符,在脚本中可以使用#
来转义。之前用的是sed -i "s/path/$1/g" config/file.yml
,后来改成sed -i "s#path#$1#g config/file.yml
。
参考文档:
http://www.jb51.net/article/56549.htm