Linux与乞丐的猛烈抨击

chhkpiq4  于 2022-10-23  发布在  Linux
关注(0)|答案(1)|浏览(101)

我是多诺!我在Linux上学习bash。我是一个初学者,我需要一些对已经了解bash Linux的人来说非常基本的帮助。
我写了一个简单的脚本,但我遇到了一个问题。
我正在尝试设置一个变量,该变量可以检测我何时说“游戏”来告诉我“好游戏!”如果我再说什么,他会回答“日安!”
然而,当我尝试设置ca变量时,它并不起作用。我给你们留下了我的答案的截图。
顺便说一句,我不知道如何在Linux上复制/粘贴。(我想指定我在Windows上可以通过ssh访问Ubuntu 22.10版本中的Linux Linode)
PS**剧本是用法语写的,因为我说法语。我会尽我最大的努力为你翻译,所以请你放纵一下☺。
The Script
The Result


# !/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
ubof19bj

ubof19bj1#

脚本中有三个错误。
If语句需要方括号,而不是圆括号。
要引用变量“reponse”的值,必须使用**$reponse的形式引用它,或者更严格地说是${reponse}
您还需要确保在表达式和方括号的元素周围
留出空格。否则,字符串和相邻的方括号有时会集中在一起,导致语法错误。
除此之外,我建议您养成用双引号将字符串值括起来的习惯,这样,如果您的编辑器突出显示语法,它将更轻松地执行其工作。
此外,如果需要计算表达式(可能包括外壳逗号),则最好保留圆括号“(”,而您应该坚持使用花括号“{”,其中只引用所涉及的直接变量。如今,考虑到计算机的强大功能,这是一件小事,但它将提高整体性能。
此外,作为注解提供的引用ShellCheck对于帮助您纠正自己无法识别的错误非常有用,但我建议您养成一个习惯,首先尝试自己识别这些错误,以批判性的眼光检查您的代码,了解您试图如何处理表达式的每个元素,然后才使用辅助工具。这样,您可能会缩短学习曲线,并能够在第一次运行之前发现错误。
最后,我建议您为您不熟悉的任何新函数/语法创建一个测试脚本。它允许您专注于问题,并以受控的方式尝试不同的场景。

相关问题