试图回到 ZSH 脚本中的 "Checkpoint"
Trying to go back to a "Checkpoint" in ZSH script
好的,
我正在 ZSH 中制作一个程序,并且我制作了所有 运行 的客户端脚本,其中包含命令
我遇到了两个问题,我需要像在视频游戏中一样设置“检查点”。
第一个问题:
A="LUNGOTEVEREMARZIO-UMBERTO (RM-CTR54)"
B="LUNGOTEVEREMARZIO-UMBERT1 (RM-CTR55)"
vared -p 'Which device would you like to access? ' -c tmp
X=$tmp
if [[ $tmp == 'A' ]]; then
F=${A}
elif [[ $tmp == 'B' ]]; then
F=${B}
else
echo 'Error, CODE176, Variable not found. Please upload logStamp.txt to Ranieri#0001 on Discord'
log start(./logstamp.txt)
sleep 2
echo Selected Option ${tmp}: ${F}
在这里,我希望第 13 行在设置变量后继续,但是,在设置变量后脚本就会停止(我明白它为什么这样做,我只需要一种方法来停止它。
这里是问题 2:
vared -p 'Awaiting Commands >> ' -c response
if [[ $response == 'GG stop' ]]; then
echo '${sTT}'
STATUS='${stopResponse}'
elif [ $response == 'GG start' ]]; then
echo '${srTT}'
STATUS='${startResponse}'
./TrStart.js
fi
在这里,我想回到第 1 行 (vared),以便用户可以输入更多命令。我在想这两个问题都类似于 VG 中的“检查点”,因为我基本上是在尝试返回到选定的点并能够从那里重新 运行 脚本。我想在 if 语句中重新粘贴整个内容,但我知道必须有更有效的方法。
任何帮助深表感谢
干杯,
RCdS
您可能正在寻找无限循环。这是一个基于您的脚本之一的示例:
#!/bin/zsh
while true; do
vared -p 'Awaiting Commands >> ' -c response
if [[ $response == 'GG stop' ]]; then
echo 'Stop'
elif [[ $response == 'GG start' ]]; then
echo 'Start'
fi
response=''
done
参见 Zsh Shell 手册的 Complex Commands section。
好的, 我正在 ZSH 中制作一个程序,并且我制作了所有 运行 的客户端脚本,其中包含命令
我遇到了两个问题,我需要像在视频游戏中一样设置“检查点”。
第一个问题:
A="LUNGOTEVEREMARZIO-UMBERTO (RM-CTR54)"
B="LUNGOTEVEREMARZIO-UMBERT1 (RM-CTR55)"
vared -p 'Which device would you like to access? ' -c tmp
X=$tmp
if [[ $tmp == 'A' ]]; then
F=${A}
elif [[ $tmp == 'B' ]]; then
F=${B}
else
echo 'Error, CODE176, Variable not found. Please upload logStamp.txt to Ranieri#0001 on Discord'
log start(./logstamp.txt)
sleep 2
echo Selected Option ${tmp}: ${F}
在这里,我希望第 13 行在设置变量后继续,但是,在设置变量后脚本就会停止(我明白它为什么这样做,我只需要一种方法来停止它。 这里是问题 2:
vared -p 'Awaiting Commands >> ' -c response
if [[ $response == 'GG stop' ]]; then
echo '${sTT}'
STATUS='${stopResponse}'
elif [ $response == 'GG start' ]]; then
echo '${srTT}'
STATUS='${startResponse}'
./TrStart.js
fi
在这里,我想回到第 1 行 (vared),以便用户可以输入更多命令。我在想这两个问题都类似于 VG 中的“检查点”,因为我基本上是在尝试返回到选定的点并能够从那里重新 运行 脚本。我想在 if 语句中重新粘贴整个内容,但我知道必须有更有效的方法。 任何帮助深表感谢 干杯, RCdS
您可能正在寻找无限循环。这是一个基于您的脚本之一的示例:
#!/bin/zsh
while true; do
vared -p 'Awaiting Commands >> ' -c response
if [[ $response == 'GG stop' ]]; then
echo 'Stop'
elif [[ $response == 'GG start' ]]; then
echo 'Start'
fi
response=''
done
参见 Zsh Shell 手册的 Complex Commands section。