我是多诺!我在linux上学习bash。我是一个初学者,我需要一些非常基本的帮助,对于已经知道bash的人来说。
我写了一个简单的脚本,我遇到了一个问题。
我试图设置一个变量来检测当我说“游戏”来告诉我“好游戏!”如果我还说什么的话,他回答说:“再见!”
但是,当我试图设置ca变量时,不起作用。我给你留下我的答案的截图。
顺便说一下,我不知道如何在linux上复制/粘贴。(我想指定我在windows上使用ssh访问Ubuntu22.10版本的Linux Linode )
剧本是用法语写的,因为我会说法语。我尽我最大的努力为你翻译,所以请原谅☺。
#!/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
发布于 2022-10-22 20:13:22
脚本中有三个错误。
if语句需要方括号,而不是圆形。
要引用变量"reponse“的值,必须使用表单$reponse或更严格地使用${reponse}引用该值。
您还需要确保在表达式的元素和方括号周围留出空间。否则,字符串和相邻括号有时会合并在一起,从而导致语法错误。
除此之外,我建议您养成用双引号包装字符串值的习惯,这样如果您的编辑器进行语法高亮显示,它将更容易地执行其工作。
此外,如果需要计算表达式(其中可能包括shell逗号),则最好保留圆括号"(“),而应该坚持大括号"{”,其中只引用所涉及的直接变量。如今,考虑到计算机的能力,这只是一件小事,但它会提高整体性能。
此外,作为注释提供的引用ShellCheck非常适合帮助您发现您无法识别自己的错误,但我建议您养成这样的习惯:首先自己识别那些错误,用批判性的眼光检查代码,看看如何处理表达式中的每个元素,然后才使用助手工具。这样,你可能会缩短你的学习曲线,并能够在你第一次跑步之前发现错误。
最后,我建议您为您不熟悉的任何新函数/语法创建测试脚本。它允许您集中精力解决问题,并以受控的方式尝试不同的场景。
https://stackoverflow.com/questions/74165476
复制相似问题