bug1
题目没看仔细
额外知识
在 Bash shell 中,!
符号用于历史扩展功能。当你在命令行中输入 !
后跟一些文本时,Bash 会尝试从你的命令历史中查找与该文本相匹配的命令。这是一种快速重用之前执行过的命令的方法。
如何使用历史扩展
-
基本用法:
!string
: 查找最近一次以string
开头的命令。!!
: 重复上一条命令。!-n
: 重复第 n 条命令之前的命令。!^
: 替换命令行中第一个单词。!$:
替换命令行中最后一个单词。!*:
: 替换命令行中所有单词。!~
: 查找包含~
的命令,通常用于查找包含路径的命令。
-
更复杂的用法:
!string:p
: 查找以string
开头的命令,并打印命令。!string:r
: 查找以string
开头的命令,并替换命令。!string:s/old/new/
: 查找以string
开头的命令,并替换命令中的old
为new
。!string:t
: 查找以string
开头的命令,并只返回命令的最后一部分。
示例
假设您之前执行过以下命令:
ls /home/user
-
重复上一条命令:
!!
这将重新执行
ls /home/user
。 -
查找以
ls
开头的命令并重新执行:!ls
这也会重新执行
ls /home/user
。 -
查找以
ls
开头的命令并替换路径:!ls:s/home/user/home/user2/
这将执行
ls /home/user2
。 -
查找以
ls
开头的命令并只打印命令:!ls:p
这将只打印
ls /home/user
。
关于 !arg1
当你输入 ./countdown.sh !arg1
时,Bash 尝试查找以 arg1
开头的历史命令。由于没有找到匹配项,Bash 报告了错误 “bash: !arg1: event not found
”。
如何正确传递参数给脚本
如果您想要向脚本传递参数,正确的做法是在脚本调用时直接传递参数,例如:
./countdown.sh arg1
这里,arg1
将作为脚本的第一个参数(即 $1
)被传递给脚本。
如果您需要编写一个倒计时脚本并了解如何正确地传递参数,请参考之前给出的例子。如果您需要进一步的帮助或有关于 countdown.sh
脚本的具体需求,请告诉我!
了解了!+参数的用法
将背景和代码以及问题都贴进通义千问中
决定看回之前的步骤,有什么相关的历史命令
将题目翻译,看看是不是题目看错了
bug fixed!
bug2
英语不过关问题,题目没搞懂
bug3
代码上传不到github上,不用git,直接拖动上传
https://www.github-zh.com/getting-started
学会了,其实github和gitee差不多,但是还有一个拖动上传的功能非常好用,直接拖动上传即可
bug4
Truncate Table是[SQL语言](https://www.baidu.com/s?wd=SQL语言&usm=2&ie=utf-8&rsv_pq=bd230e1e00088058&oq=truncate table语法&rsv_t=936c%2Bcl6yAn%2F48gBIXX2pgEBGHQ2KCvsgaX5pFcc9U%2F18o7bdryugE3WBPQ&sa=re_dqa_generate)中用于清空数据库表所有行记录的一种语句。它的基本语法形式简单,只需要指定要清空的表名即可。执行Truncate Table语句后,表中的所有数据将被清除,但表的结构、字段定义和索引等不会受到影响。这种操作比使用Delete语句删除所有行记录要快得多,因为它不需要对表中的每一条记录进行操作,而是直接清空存储数据的页面,从而大幅度提高了数据清空的速度。
重新来一遍创建了数据库等等,还是同样的问题
看代码,看数据库结果,等等,看半天发现是insert_data.sh中获取队伍的逻辑出了问题,复制代码让通义千问改逻辑,Done!
还差最后一个bug
看了代码发现是小数位不一致,导致无法通过,让通义千问改了小数位(这下真实现中文编程了:))