linux - CENTOS - 用于从目录启动文件传输的 Bash 脚本

标签 linux bash shell centos tftp

我正在尝试创建一个 bash 脚本以通过 tftp 应用程序启动文件传输到另一台机器。目前我会通过运行命令 ./tftp "filename" tftp://ipaddress/filename. 手动执行此操作
我想要做的是有一个 bash 脚本,它查看一个文件夹,例如(文件传输)对于任何文件启动相同的命令。有人可以帮忙吗?因为我是 bash 脚本的菜鸟
到目前为止,我已经尝试了以下
运行时表示文件名错误

#!/bin/bash
for filename in ./*
do
  ./tftp "$filename" tftp://ipaddress/"$filename"
done
也试过这个
当在下面运行这个时,它会传输下面目录中的所有内容。
#!/bin/bash
cd /path/to/the/directory/*
for i in *
do
  ./tftp "$i" tftp://ipaddress/"$i"
done

最佳答案

在您发布的代码中,filename , 分别i , 也可以取子目录的名称,因为您正在遍历目录中的所有条目。如果要将传输限制为纯文件,请执行

[[ -f $filename ]] && ./tftp "$filename" tftp://ipaddress/"$filename"

关于linux - CENTOS - 用于从目录启动文件传输的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63258423/

相关文章:

linux - cut 操作 - 奇怪的行为

c++ - “id”系统调用通过选项 “stream_id”返回的结构中的 “PERF_RECORD_SAMPLE”和 “perf_event_open”有什么区别?

linux - 以编程方式禁用 CPU 内核

Linux bash 脚本 - For 循环问题

linux - 使用 sed 替换前后有非字母数字字符的字符串

linux - 可执行的 while 循环 : no such file or directory

c - Linux C : segfault error 4 in libmysqlclient. so.18.0.0

linux - 从 Bash 脚本中使用 Apache 执行 'git pull'

c - 在 Linux 中处理系统(命令)调用超时

shell - printf 格式字符串中的变量插值与替换