gpt4 book ai didi

Bash:While 循环错误 "No such file or directory"

转载 作者:行者123 更新时间:2023-12-03 08:26:50 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why should there be spaces around '[' and ']' in Bash?

(5 个回答)


5年前关闭。




我有一些代码不起作用。它说,“没有这样的文件或目录”,并在第 27 行崩溃:

while [ $i  < $amount]

但我不知道为什么。任何人?
#!/bin/bash
#WWGEN Aleandro

small=$(echo "abcdefghijklmnopqrstuvwxyz")
big=$(echo "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
C=$(echo "\"")
D=$(echo '!')
E=$(echo ",.@#$%^&*()][{};:?-_+=")
F=$(echo "0123456789")

characters=$(echo $small$big$C$D$E$F)

while getopts ":cl:p:" opt; do
case "$opt" in
c) characters=$(echo $big$C$D$E$F);;
l) length=$OPTARG ;;
p) amount=$OPTARG ;;
esac
done
shift $(( OPTIND - 1 ))

i=0

echo "amount: $amount"
echo "length: $length"

while [ $i < $amount]

do

echo "test"
echo $characters | sed 's/\(.\)/\1\n/g ' | sed 's/^$//g'| shuf -n $length | paste -sd ''

i=$[$i+1]

done

输出:
bash wwgen.sh -l 6 -p 5
amount: 5
length: 6
wwgen.sh: line 27: [: 0: binary operator expected

想要的输出:
5 个随机生成的密码,长度为 6,像这样。
bash wwgen.sh -l 6 -p 5
amount: 5
length: 6
69:AY
O7H;=
64]Z
]^NL!
(&NW5

最佳答案

while [ $i < $aantal ]

尝试做一些涉及从文件 $aantal 获取输入的东西,这解释了消息。

对于劣质测试使用:
while [ $i -lt $aantal ]

简单的例子来证明我的观点:
#!/bin/bash
i=0
a=2
while [ $i -lt $a ]
do
i=$[i+1]
echo $i
done

输出:
1
2

但是,如果我不定义 a我得到:
./test.sh: ligne 3 : [: 0 : opérateur unaire attendu

(我会让你从法语翻译 :))

关于Bash:While 循环错误 "No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38937310/

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