加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

用可选参数编??写鱼壳脚本

发布时间:2020-12-16 01:09:45 所属栏目:安全 来源:网络整理
导读:我有一个fish shell脚本,其默认行为是在完成后发送电子邮件.我想修改它以响应命令行中的nomail参数.因此,例如,正常运行脚本会生成一封电子邮件: michaelmichael:?/ bin / myscript 但如果使用nomail开关运行,它将不会发送确认电子邮件: michaelmichael:?
我有一个fish shell脚本,其默认行为是在完成后发送电子邮件.我想修改它以响应命令行中的nomail参数.因此,例如,正常运行脚本会生成一封电子邮件:

michaelmichael:?/ bin / myscript

但如果使用nomail开关运行,它将不会发送确认电子邮件:

michaelmichael:?/ bin / myscript nomail

如果我使用nomail参数运行脚本,它运行正常.没有nomail,$argv是未定义的,它会抛出错误.我已经仔细检查了鱼壳文档,但似乎无法找到任何可行的方法.这是我到目前为止所拥有的

switch $argv
  case nomail
    ## Perform normal script functions
  case ???
    ## Perform normal script functions
    mailx -s "Script Done!"
end

运行此命令会引发以下错误:

switch:预计只有一个参数,得到0

显然它需要一个参数,我只是不知道告诉它不接受任何参数的语法,或者它是否存在的语法.

我猜这是非常基本的,但我只是不太了解shell脚本.

像这样包装你的switch语句:
if set -q argv
    ...
end

另外,我认为你的默认情况应该是’*’.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读