为什么我用脚本提交的标志会导致“找不到命令”错误

乔纳森-佐林格

我对 bash 脚本很陌生,但我正在尝试编写此脚本以努力学习 bash/让我的生活更轻松。标题基本上说明了一切,下面是有问题的代码片段。

这就是我调用脚本的方式,以及我得到的错误:

[root@vlab024200 ~]# ./vm_setup.sh "vlab024200" "5.0_SP1"
./vm_setup.sh: line 6: =vlab024200: command not found
./vm_setup.sh: line 9: =10.204.128.28: command not found
./vm_setup.sh: line 10: =AC_or_IDP: command not found

除了下面的 vm_setup.sh 片段之外,我还有几条日志消息在日志消息中调用了 $vm。他们省略了 $vm 变量并读取类似于“编辑接口配置文件以作为主机地址”的内容。

作为 bash 的新手,我觉得我对如何在 bash 脚本中实现标志有一个根本的误解。我一直在阅读如何执行我将添加的输入验证,但我找不到任何关于为什么我的脚本没有正确接受我给出的前两个标志的任何信息。我很想对这个脚本提供一些帮助,但最终我想了解我做错了什么。

#!/bin/bash
# This script configures the hostname, hosts and interface cfg file.
# After the network is configured the VM is then registered installs
# wget, vim downloads NAM and restarts VM

# define values unique to this machine
$vm=$1
case $1 in
    vlab024200)
        $newIP="10.204.128.28"
        $role=AC_or_IDP
        ;;
    vlab024201)
        $newIP="10.204.128.29"
        $role=AC_or_IDP
        ;;
    vlab024202)
        $newIP="10.204.128.30"
        $role=AC_or_IDP
        ;;
    vlab024203)
        $newIP="10.204.128.31"
        $role=AG
        ;;
    vlab034305)
        $newIP="10.204.130.175"
        $role=AG
        ;;
esac
瑞诗凯诗

删除那些 $ 符号。只有在代码中再次使用这些变量时,才需要添加美元符号。

#!/bin/bash
# This script configures the hostname, hosts and interface cfg file.
# After the network is configured the VM is then registered installs
# wget, vim downloads NAM and restarts VM

# define values unique to this machine
$vm=$1
case $1 in
  vlab024200)
    newIP="10.204.128.28"
    role=AC_or_IDP
    ;;
  vlab024201)
    newIP="10.204.128.29"
    role=AC_or_IDP
    ;;
vlab024202)
    newIP="10.204.128.30"
    role=AC_or_IDP
    ;;
vlab024203)
    newIP="10.204.128.31"
    role=AG
    ;;
vlab034305)
    newIP="10.204.130.175"
    role=AG
    ;;
esac

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的脚本中有“找不到命令”?

为什么我的脚本找不到文件?

我找不到任何会导致此结果的错误

为什么我从命令行找不到xcodebuild致命错误模块映射文件

为什么调用 playsound 模块会导致我的脚本崩溃?

为什么我收到“ svn:找不到命令”

为什么我的终端找不到Cocoapods命令?

为什么命令FIND导致我的批处理脚本挂起?

我找不到为什么我的代码 puttute 错误消息

尝试获取脚本时,bash为什么用垃圾字符和“找不到命令”来响应?

为什么会导致错误?

如果语句导致“找不到命令错误”

为什么我的代码会导致越界错误?

为什么我的脚本输出显示“ mv:找不到命令”,而直接在shell上运行却没有显示?

为什么GNU的“-或”标志会导致我的表达式以意外的方式求值?

为什么我找不到错误模块:无法解决“ redux”

为什么我不断收到“找不到符号”错误?

为什么我在 Java 中收到“找不到类”错误?

Shell脚本错误:找不到命令

找不到命令 -sh:shell 脚本错误

如果找不到进程,为什么我的 Powershell 脚本会检查进程是否正在运行并给出错误?

为什么即使成功,我的脚本也会引发错误?

我找不到导致无限循环的错误

是什么导致“找不到QtWebEngineProcess”错误?

为什么我在rpm脚本中出现“ [...] 2>>(tee -a $ logfile>&2)[...]”的语法错误,但是从命令行运行时却找不到语法错误,以及如何使其正常工作?

Selenium-为什么最小化浏览器会导致找不到元素错误,而max却没有

Apparmor的aa-enforce命令导致“找不到命令”错误

为什么找不到sudo:bundle命令?

主管为什么找不到命令源