【问题标题】:Passing user input value from batch file to shell script将用户输入值从批处理文件传递到 shell 脚本
【发布时间】:2022-01-21 06:57:44
【问题描述】:

我有一个任务,我必须编写一个批处理脚本,在该脚本中我从用户那里获取输入并从那里调用一个 shell 脚本来传递用户输入值。知道如何实现这一点。

下面是我从用户那里获取输入并最终调用包含 curl 命令的名为 test(test.sh) 的 shell 脚本的 bat 文件

@echo off
set /p technology="Enter technology: "
set /p job_name="Enter job name : "
set /p url="Enter url : "
test.sh

【问题讨论】:

标签: linux windows shell batch-file scripting


【解决方案1】:

由于根据您的标签,shell 脚本是 POSIX shell,而 Batch 脚本是 Windows 批处理,您可以利用 Windows 将其默认设置的变量放入环境中的优势。因此,变量应该可以在您的 shell 脚本中进行参数扩展,如 $technology 等。

【讨论】:

    【解决方案2】:

    感谢您的回复。 我一直在寻找的答案是

    在批处理脚本中

    @echo off
    set /p technology="Enter technology: "
    set /p job_name="Enter job name : "
    set /p url="Enter url : "
    test.sh %technology% %job_name% %url%
    

    在 shell 脚本中

    echo "technology = $1"
    echo "job name = $2"
    echo "url = $3"
    

    以这种方式传递值的原因是,我想传递从用户那里收到的值。 这里的 $1, $2, $3 指的是根据它们传递的参数传递的值。

    在 shell 脚本中使用 curl 命令时

    "url" : "'$3'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-18
      • 2011-09-15
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      相关资源
      最近更新 更多