Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 比较SHA-512盐哈希,在执行期间显示文件名_Bash_Sha512 - Fatal编程技术网

Bash 比较SHA-512盐哈希,在执行期间显示文件名

Bash 比较SHA-512盐哈希,在执行期间显示文件名,bash,sha512,Bash,Sha512,长话短说在执行过程中,我注意到列表中的“*”以某种方式显示了我正在执行的文件的名称。是否允许代码显示“*”而不是显示文件名 我还是一个脚本新手,想不出任何办法。请帮忙 #!/bin/bash LIST='W 2 v * %' encr="Cd9AjUI4nGglIcP3MByrZUnu.hHBJc7.eR0o/v0A1gu0/6ztFfBxeJgKTzpgoCLptJS2NnliZLZjO40LUseED/" salt="8899Uidd" for i in $LIST do fo

长话短说在执行过程中,我注意到列表中的
“*”
以某种方式显示了我正在执行的文件的名称。是否允许代码显示
“*”
而不是显示文件名

我还是一个脚本新手,想不出任何办法。请帮忙

#!/bin/bash

LIST='W 2 v * %'
encr="Cd9AjUI4nGglIcP3MByrZUnu.hHBJc7.eR0o/v0A1gu0/6ztFfBxeJgKTzpgoCLptJS2NnliZLZjO40LUseED/"

salt="8899Uidd"
for i in $LIST
  do
   for j in $LIST
    do
    for k in $LIST
     do
      for l in $LIST
        do
        for a in $LIST
            do
            echo -n "$i$j$k$l$a "

   test=`mkpasswd -m SHA-512 $i$j$k$l$a -s $salt`
    if [ $test == $encr ] ; then
            echo " Password is: $i$j$k$l$a"
            exit
        fi
        done
       done
      done
    done
done

#error displaying *

echo*
相同,将球形化
*
扩展到当前目录中的文件名,方法与
a=*相同;因为我一美元;不要重复$i;完成
将打印当前目录中的路径。你可以在网上的不同地方阅读更多关于引号和转义的内容

可以使用bash数组正确引用元素:

LIST=(W 2 v "*" %)
for i in "${LIST[@]}"; do
注:

  • 不要使用反勾号,它们是不被鼓励的。改用
    $(..)
  • 引用您的变量扩展名
    [“$test”=“$encr”]
    ,以防止此类常见错误
  • =
    是一个bash扩展,可以使用
    =
    进行移植
  • 生成元素排列的方法看起来很奇怪,而且不可伸缩。考虑写一个函数或使用其他方法。使用bash扩展名
    echo{W,2,v,“*”,%%{W,2,v,“*”,%%{W,2,v,“*”,%%{W,2,v,“*”,%%}{W,2,v,“*”,%%}
    的偶数(ab-)看起来更短

echo*
相同,将球形化
*
扩展到当前目录中的文件名,方法与
a=*相同;因为我一美元;不要重复$i;完成
将打印当前目录中的路径。你可以在网上的不同地方阅读更多关于引号和转义的内容

可以使用bash数组正确引用元素:

LIST=(W 2 v "*" %)
for i in "${LIST[@]}"; do
注:

  • 不要使用反勾号,它们是不被鼓励的。改用
    $(..)
  • 引用您的变量扩展名
    [“$test”=“$encr”]
    ,以防止此类常见错误
  • =
    是一个bash扩展,可以使用
    =
    进行移植
  • 生成元素排列的方法看起来很奇怪,而且不可伸缩。考虑写一个函数或使用其他方法。使用bash扩展名
    echo{W,2,v,“*”,%%{W,2,v,“*”,%%{W,2,v,“*”,%%{W,2,v,“*”,%%}{W,2,v,“*”,%%}
    的偶数(ab-)看起来更短