惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Webroot Blog
Webroot Blog
IT之家
IT之家
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
F
Full Disclosure
H
Help Net Security
量子位
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
V
V2EX
U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
博客园 - 叶小钗
V
V2EX - 技术
T
Tailwind CSS Blog
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
N
News and Events Feed by Topic
E
Exploit-DB.com RSS Feed
S
Secure Thoughts
Recent Commits to openclaw:main
Recent Commits to openclaw:main
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Check Point Blog
Project Zero
Project Zero
O
OpenAI News
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
L
LINUX DO - 最新话题
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 三生石上(FineUI控件)

Bash

Linux bash 脚本监控和重启一个守护进程 - V2EX 有个脚本代码的问题 Bash Script 代码比较,你认为哪个更加容易理解? 有使用 kitty 当日常终端的老哥吗? - V2EX 在输入命令时,自动调用 fzf 进行模糊匹配 使用 shell 的 bash -c "functions"时,是不是所有相关的函数都得声明出来? shell 比较浮点数大小的问题,顺便吐槽以下 shell - V2EX bash-completor:声明式编写 Bash 补全脚本 - V2EX sudo 改用 pkexec 的问题 - V2EX sed 如何查找替换反斜杠 - V2EX lobash 发布 v0.5.0 版本 - V2EX 为什么这样写无法连接(join)数组各项? - V2EX 如何使用 awk 打印 nginx 404 日志的目录 - V2EX 请教一下,怎么把向终端输入的内容重定向一份到文件? - V2EX 请教一下 shell 里使用 jq 处理 json 应该怎么写 - V2EX 求一个 wsl2 ubuntu20.04 的默认 /etc/bash.bashrc - V2EX 如何让 bash 的补全 popup 显示 - V2EX 如何去除 Bash variable expansion 后加的单引号? - V2EX 初学者写了个 bash 脚本,求大佬点评 - V2EX tar 使用管道的困惑 - V2EX 如何获取命令标准输出到变量里并保留颜色?或者能不能一边输出一边赋值或判断。 - V2EX 请问如何在 alias 命令里传递参数? - V2EX Bash 下如何优雅地临时在后台运行程序并易于管理? - V2EX shell tr -cd 匹配字符串问题 - V2EX shell 中的 import 能不能支持 as 或 alias 类似功能 - V2EX Shell 多个文本间隔追加的方法 - V2EX 生产服务器集群被黑了,帮看看这个脚本 - V2EX 如何实现一个符合规范的 shell? - V2EX bash 里面有 io 多路复用吗? 闲的蛋疼,用 shell 写了个拓扑排序。。。 echo '1 2'|awk "{print $2}"的输出为什么是 1 2 Shell 中冒号变成了斜线 大家觉得 shell 如何呢? 如何让 ls 默认带--group-directories-first 选项 shell 脚本用 expect 输入密码,密码带有{}导致 expect 报错 询问一个正则表达式,请大家帮忙 请教一个 bash 的问题 请教 Shell 空字符串数组的问题 统计一下,如果你在用 bash,用什么版本号的 bash? sh 可以运行后执行一段脚本吗? bash 是可以的。 bash shell history search Shell 给变量的赋值里带 $ 要怎么写? [求助] shell 处理 yaml 今天想合并文件写出个递归。。。 啊,我中毒了 寻一段 shell 来实现自动填写 ssh 登录密码 秀一下原生的 “终端.app”(bash) # [求助] 用 curl 抓取一个网站,网站有很多分页,但不论怎么指 page=[2-100],抓取的都只是 page=1 的内容... 请问这段 shell 代码有设么问题吗
请教下如何检测文件是否存在 - V2EX
jeblur · 2020-06-08 · via Bash

写了一个非常简单的脚本用于筛选日志并且归档,但是不知道如何写条件来保证输入的日期所对应的日志文件是否存在,比如 5 月份如果并没有日志产生,那希望程序提示并退出

#!/bin/bash

syslog_path="/var/log/dcmc_syslog_devices"

read -p "Enter IP to clear the desired directory: " ip_syslog_path
read -p "Enter desired date to clear[YYYY-MM]: " desired_date

desired_path="/var/log/dcmc_syslog_devices/${ip_syslog_path}"


if [ ! -d ${desired_path} ]; then
	echo "Log directory does not exist! Script exited."
	exit 1
fi

if [ ! -f ${"/var/log/dcmc_syslog_devices/${ip_syslog_path}/${ip_syslog_path}-${desired_date}*.log"}]; then
	echo "Desired log is not available! Script exited."
	exit 1
fi

#Packing syslog
echo $(date +"%Y-%m-%d %H:%M:%S")
echo "Start packing syslogs..."
sudo tar -zcvf ${desired_path}/${ip_syslog_path}-${desired_date}.tar.gz ${desired_path}/${ip_syslog_path}-${desired_date}*.log

由于日志文件最后是包含日期的所以一直使用"*"来覆盖后面的日,现在也不知道怎么修改,但是问题应该在于我的第二个条件中的这种写法是不被支持的,有没有大佬来说下这个该怎么调整啊,感谢!

第 1 条附言  ·  2020 年 6 月 8 日

问题最后在 stackoverflow 找到了相关问题和解决方法,链接如下
https://stackoverflow.com/questions/6363441/check-if-a-file-exists-with-wildcard-in-shell-script/6397979#6397979
如有朋友有相关问题可以查下上述链接
更改的代码如下
```
#!/bin/bash

syslog_path="/var/log/dcmc_syslog_devices"

read -p "Enter IP to clear the desired directory: " ip_syslog_path
read -p "Enter desired date to clear[YYYY-MM]: " desired_date

desired_path="/var/log/dcmc_syslog_devices/${ip_syslog_path}"

if [ ! -d ${desired_path} ]; then
echo "Log directory does not exist! Script exited."
exit 1
fi

for f in ${desired_path}/${ip_syslog_path}-${desired_date}*.log; do
if [[ -f "$f" ]]; then
echo $(date +"%Y-%m-%d %H:%M:%S")
echo "Start packing syslogs..."
sudo tar -zcvf ${desired_path}/${ip_syslog_path}-${desired_date}.tar.gz ${desired_path}/${ip_syslog_path}-${desired_date}*.log
sudo rm ${desired_path}/${ip_syslog_path}-${desired_date}*.log
break
else
echo "Files do not exist!"
fi
done

```