gpt4 book ai didi

linux - bash 中的参数检查未正确测试

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:57 24 4
gpt4 key购买 nike

我已经为此绞尽脑汁了一段时间......我正在努力让我的代码做出如下 react :

If no parameters, go to menu
If more OR less than 4 parameters, call error and go to menu
If exactly 4 parameters, write to file and exit

我无法以任何方式让它工作,如果你能提供帮助,我将不胜感激!

username=$1
firstname=$2
surname=$3
password=$4

if test "$#" = 0; then
{
menu
}
elif test "$#" = 4; then
{
echo Error
sleep 2
menu
}
else {
echo Done
echo "$firstname" "$surname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
sleep 2
clear
exit
}
fi

最佳答案

在 bash 中,数字比较不是用 = 完成的,而是用 -eq 和它的同类完成的。 (= 用于字符串比较。)

所以你想要这样的东西。我将用更常见的 [ 符号替换你的 test

if [ "$#" -eq 0 ] ; then
{
menu
}
elif [ "$#" -eq 4 ] ; then
...

莫尔

关于linux - bash 中的参数检查未正确测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30158956/

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