Linux sftp上载bash忽略文件

Linux sftp上载bash忽略文件,linux,bash,git,sftp,Linux,Bash,Git,Sftp,我试图实现一些半自动的sftp上传/部署。主键为非上传所有文件。我不知道哪些文件上传,但我知道哪些文件不上传 我的bash脚本如下所示: #!/bin/bash IP="123.123.123.123" HOSTNAME="ftp.my-host.com" PATH="subdirectory" sftp username@$HOSTNAME:$PATH < "sftp-pattern" #/bin/bash IP=“123.123.123.123” HOSTNAME=“ftp.my

我试图实现一些半自动的
sftp
上传/部署。主键为上传所有文件。我不知道哪些文件上传,但我知道哪些文件不上传

我的bash脚本如下所示:

#!/bin/bash

IP="123.123.123.123"
HOSTNAME="ftp.my-host.com"
PATH="subdirectory"

sftp username@$HOSTNAME:$PATH < "sftp-pattern"
#/bin/bash
IP=“123.123.123.123”
HOSTNAME=“ftp.my host.com”
PATH=“子目录”
sftp用户名@$HOSTNAME:$PATH<“sftp模式”
sftp模式
文件中,我想存储我的sftp命令。但我找不到任何关于如何忽略几个模式的提示。比如
*.sql

理想情况下,我会忽略所有被忽略的事情


我没有ssh连接。

因为您使用的是shell脚本,所以可以使用循环。这样的办法应该行得通

#!/bin/bash

IP="123.123.123.123"
HOST="ftp.my-host.com"
DIR="/tmp/"

for f in `/bin/ls $DIR`
do
  if echo $f | /usr/bin/grep  '.sql' > /dev/null
  then
    echo SKIPPING $f
  else
   sftp username@$HOST:$DIR/$f
  fi
done
答案应该如@Clijsters所述。它的功能更加丰富,不需要对循环和管道进行调整

不过,若您只想排除sql,那个么dwrights解决方案是可行的


谢谢

你可能会觉得有用。它可以像
git ftp push
一样使用,然后将当前
HEAD
推送到ftp遥控器。我不确定SFTP。听起来很棒!!谢谢顺便说一句:
PATH
是一个重要的环境变量。感谢@Cyrus!!顺便说一句:最后我用gitium解决了这个问题,因为这个用例是wordpress页面。gitium似乎得到了积极的维护,并得到了我一直在寻找的支持。