gpt4 book ai didi

linux - 使用 "if"和 "case"更改主机名

转载 作者:太空宇宙 更新时间:2023-11-04 04:02:38 24 4
gpt4 key购买 nike

我尝试使用“case”结构来提供选项,并使用“if”来实际执行操作。我对脚本编写非常陌生,所以请原谅我缺乏知识。为了简化事情,我将跳过代码中的任何注释,只使用此脚本的一(一)个选项。

#!/bin/sh
echo " 01. Select a new hostname"
read -p "Make your selection: " varSelection
case $varSelection in
1)
read -p "$(echo -e 'Enter hostname here: \n')" varHostName
read -p "¿Are u sure u want to use \" $varHostname \"? (y/n)"varHostNameRight
if [ $varHostNameRight == y ]; then
sed -i "s/^\(HOSTNAME\s*=\s*\).*\$/\1$varHostName/" /etc/sysconfig/network
hostname $varHostName
else
if [ $varHostNameRight == n ]; then
fi
;;
esac

在这个例子中,我想要实现的是,如果用户在“04”行中选择“y”,则在执行第6行和第7行后,他返回到“case”菜单(实际上,case中的选项比1多))我不知道该怎么做:S在我的脚本中应用每个选项后,我必须重新运行它以选择其他选项。

此外,如果用户在“04”行中选择“否”,我想“循环”到“03”行...但同样,我不知道该怎么做:(

拜托,非常欢迎任何帮助!

最诚挚的问候,

塞巴斯

最佳答案

使用while循环:

while read -p "Make your selection: " varSelection; do
...
done

并适本地中断

关于linux - 使用 "if"和 "case"更改主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22466326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com