相关疑难解决方法(0)

如果在bash中声明错误

i=0
for f in `awk '{print $1}' config.list`
do
    echo "i value is $i"
    if ["$i" = "0"]
    then
        echo "here"
        i=$((i+1))
        continue 
    fi
    arr[i]=$f  
    i=$((i+1))
done
Run Code Online (Sandbox Code Playgroud)

在上面的bash脚本中,我收到一个错误,我使用了if语句,看起来像这样

./script.sh: line 5: [0: command not found
Run Code Online (Sandbox Code Playgroud)

请指出我可能是我的错误.

linux bash

3
推荐指数
1
解决办法
4818
查看次数

如何在 bash shell 的 if 语句中使用 ls 命令的输出

在继续处理该文件之前,我想检查是否只有一个文件实例存在。

我可以使用以下命令检查存在多少个实例:

ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l;
Run Code Online (Sandbox Code Playgroud)

但是,当我在 if 语句中使用它时,会警告我ls: command not found.

if [ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l = '1']
 then
 echo "Only 1 File Exists";
fi
Run Code Online (Sandbox Code Playgroud)

我尝试在 ls 命令的末尾添加一个分号并将其括在方括号中 - 这些都没有产生任何结果。

我很少需要编写任何 Shell 脚本,我怀疑这是一个非常基本的错误,因此非常感谢任何帮助。

bash shell

3
推荐指数
1
解决办法
5434
查看次数

Linux bash:比较哈希字符串而不设置变量

我想要一个简单的bash命令来比较输出它们是否相同的两个哈希值.这是我尝试过的:

md5sum file1 | awk '{print $1}' # outputs hash value without filename

md5sum file1 > md5sum file2 # no output even though files/hashes differ

到目前为止,我已尝试过以下方面的变化,但没有成功:

[ md5sum states.txt | awk '{print $1}' == md5sum states_copy.txt | awk '{print $1}' ]

[ (md5sum states.txt | awk '{print $1}') == (md5sum states_copy.txt | awk '{print $1}') ]

我对脚本或多行bash解决方案开放,或者使用shasum,但我是Linux和bash的新手,所以尽量保持简单.

我正在运行Ubuntu 18.04.

linux bash awk md5sum sha1sum

1
推荐指数
1
解决办法
236
查看次数

bash-if块无效

我有下面的代码.这里的逻辑是如果HostList包含任何blanck条目它应该将类设置为空白,否则它应该是红色.现在我收到错误 -

test.sh [3]:第7行的语法错误:"然后"意外

任何人都可以帮助我吗?谢谢!

     #! /bin/bash
file=./HostList.txt
{
  echo "<table>"
  printf "<tr>"
  if[%s -eq =""]; then
      class="blank"
  else
    class="red"
  fi    
    "<td" $class">%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    </tr>\n" $(cat "$file"|cut -d'.' -f1)
  echo "</table>"
}  > table.html


exit 0
Run Code Online (Sandbox Code Playgroud)

bash shell

0
推荐指数
1
解决办法
8624
查看次数

标签 统计

bash ×4

linux ×2

shell ×2

awk ×1

md5sum ×1

sha1sum ×1