【问题标题】:How to write a unix shell script for如何编写一个unix shell脚本
【发布时间】:2020-07-22 07:45:58
【问题描述】:

程序需要密钥才能运行程序;用户应提前编程此密钥。如果用户输入正确的密钥,则进入下一步(3),否则提示输入正确密钥五次,然后退出程序

【问题讨论】:

  • 欢迎来到 Stack Overflow。 SO 是面向专业和热情的程序员的问答页面。将您自己的代码添加到您的问题中。您应该至少展示自己为解决这个问题所做的研究。
  • 我是 unix 脚本的初学者,所以我需要一些帮助。
  • 试试pseudocode
  • 或许可以改一下标题。类似How can I check a string in a loop

标签: bash shell unix operating-system


【解决方案1】:

您可能正在尝试实现类似的东西

#!/bin/bash

secretKey="qwerty1234"
failcount=5
success=0

while [ $failcount -gt 0 ]
do
    echo "please enter secretKey"
    read inp
    if [ $inp = $secretKey ]
    then
        success=1
        break
    else
        ((failcount--))
        echo $failcount" tries remaining"
    fi
done

if [ $success = 0 ]
then
   exit 1
fi

echo "code runs here"

上面的代码有一个预设的秘钥写入脚本(本例中为qwerty1234)

程序循环 5 次,由 failcount 变量决定。 如果密码输入正确,成功变量设置为1,代码执行。

如果密码错误5次,则循环以成功变量为0结束。

这会导致程序以错误代码 1 退出

希望这会有所帮助,但是请尝试提供一个更清晰的示例,将来可能会提供一些基本实现。

【讨论】:

  • 使用引号。我的密钥是with spaces and a *