首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux和乞丐

Linux和乞丐
EN

Stack Overflow用户
提问于 2022-10-22 17:02:03
回答 1查看 38关注 0票数 -3

我是多诺!我在linux上学习bash。我是一个初学者,我需要一些非常基本的帮助,对于已经知道bash的人来说。

我写了一个简单的脚本,我遇到了一个问题。

我试图设置一个变量来检测当我说“游戏”来告诉我“好游戏!”如果我还说什么的话,他回答说:“再见!”

但是,当我试图设置ca变量时,不起作用。我给你留下我的答案的截图。

顺便说一下,我不知道如何在linux上复制/粘贴。(我想指定我在windows上使用ssh访问Ubuntu22.10版本的Linux Linode )

剧本是用法语写的,因为我会说法语。我尽我最大的努力为你翻译,所以请原谅☺。

剧本

结果

代码语言:javascript
运行
复制
#!/bin/sh

name=Dono
user=$(whoami)
date=$(date)
whereamit=$(pwd)



echo "Yio $name, comment tu va?"
sleep 2
echo "Tu es connecter avec l'utilisateur $user."
sleep 1 
echo "Nous sommes le $date."
sleep 2

echo "Que veux tu faire maintenant?"
read reponse
sleep 1

if ( reponse = jeux)
then
        echo "Bon jeux!"
    
else 
        echo "Bonne journée!"
fi
EN

回答 1

Stack Overflow用户

发布于 2022-10-22 20:13:22

脚本中有三个错误。

if语句需要方括号,而不是圆形。

要引用变量"reponse“的值,必须使用表单$reponse或更严格地使用${reponse}引用该值。

您还需要确保在表达式的元素和方括号周围留出空间。否则,字符串和相邻括号有时会合并在一起,从而导致语法错误。

除此之外,我建议您养成用双引号包装字符串值的习惯,这样如果您的编辑器进行语法高亮显示,它将更容易地执行其工作。

此外,如果需要计算表达式(其中可能包括shell逗号),则最好保留圆括号"(“),而应该坚持大括号"{”,其中只引用所涉及的直接变量。如今,考虑到计算机的能力,这只是一件小事,但它会提高整体性能。

此外,作为注释提供的引用ShellCheck非常适合帮助您发现您无法识别自己的错误,但我建议您养成这样的习惯:首先自己识别那些错误,用批判性的眼光检查代码,看看如何处理表达式中的每个元素,然后才使用助手工具。这样,你可能会缩短你的学习曲线,并能够在你第一次跑步之前发现错误。

最后,我建议您为您不熟悉的任何新函数/语法创建测试脚本。它允许您集中精力解决问题,并以受控的方式尝试不同的场景。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74165476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档