ZKX's LAB

shell脚本如何从命令行输入参数取代脚本文件中的值 shell脚本运行命令行

2020-10-08知识22

unix:可执行程序为什么在命令行调用执行正常,写到shell脚本调用却不行? 以,应该是你那个参数没传过去,可以把报错贴上来看看

shell脚本如何从命令行输入参数取代脚本文件中的值 shell脚本运行命令行

linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令 之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。bash shell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令行为的单字符值)和直接读取键盘输入。1、命令行参数向shell脚本传递数据的最基本方式是使用命令行参数。1)读取参数读取输入的参数的变量为位置参数,位置参数通过标准数字表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数。shell脚本自动将命令行参数赋值给各个位置变量。同时输入多个参数可以是数值也可以是字符串)时,必须使用空格分隔要想在参数值中包含空格,就必须使用单引号或双引号)当参数多于9个后,必须在shell脚本内使用大括号将变量括起来,如${10}。从而可以使用任意个参数。2)读取程序名称传递给变量$0的字符串实际上是程序的路径根据调用方法决定是相对还是绝对路径)。使用basename命令可以去掉路径前缀,只获得程序名称名字中不 可以有空格)。3)测试脚本当脚本认为应该包含参数,却实际上没有数据时,就会出错。好的方法是对参数进行检查来保证使用参数前确实存在数据,可以使用-n参数来检查。例子:if[–n“$1”]then.else.fi2、特殊的参数。

shell脚本如何从命令行输入参数取代脚本文件中的值 shell脚本运行命令行

如何用shell命令行的命令替换掉脚本里的相应命令? 比如,你要更换192.168.1.2去192.168.1.23,脚本文件命为setipsed-i\"s/192\\.168\\.1\\.2/192\\.168\\.1\\.23/g\"setip这样就可以了。

shell脚本如何从命令行输入参数取代脚本文件中的值 shell脚本运行命令行

shell命令行运行后缀为sql的脚本 比如mysql运行sql脚本:mysql-t-u root-proot-h 127.0.0.1 dbname<; test.sql

#linux脚本#shell#命令行#命令行参数

随机阅读

qrcode
访问手机版