如何在shell脚本中使用if函数?



我需要使用if函数过滤掉所需的文件,只有当使用SFTP从远程服务器复制文件到我的服务器时。这是我试图获得/filesnew内的所有数据。

#!/bin/bash

files=`sshpass -p 'XXX' sftp -P 2222 User1@10.18.90.12<<EOF
cd /filesnew
ls
EOF`
files=`echo $files|sed "s/.*sftp> ls//"`

(
  echo cd /filesnew
  for file in $files; do
    echo get $file /data/processedfiles/$file
  done
) |sshpass -p 'XXX' sftp -P 2222 User1@10.18.90.12

我需要过滤掉以"USER"开头的文件。

ex:
If($files==*USER*) then
echo get $file /data/processedfiles/$file
谁能告诉我怎么做这个?

在操作符周围使用空格。这些都是参数对于命令,用空格分隔。

"If"在Bash中拼写为if(小写)

测试一个条件是用[]在Bash,而不是与() .

过滤不是比较。这是完全不同的操作。使用grep:

... | grep -E -v '^USER'

参见:man grep

相关内容

  • 没有找到相关文章

最新更新