社区
系统维护与使用区
帖子详情
新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5
hnczwml
2006-01-09 02:48:08
新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名提取出来保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5结贴。
windows的命令行下可以用 if exist来检查 ,Unix下我就不知道了。 看了半天shell入门 还是没对。 肯定各位仗义相助,简单写部分代码 谢谢。 谢谢。
...全文
214
5
打赏
收藏
新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5
新手请问,检查某个指定文件是否存在于opt目录下,如果存在则把该文件名提取出来保存到文本文件里,用Shell脚本如何写?请简写代码供参,谢谢。PM5结贴。 windows的命令行下可以用 if exist来检查 ,Unix下我就不知道了。 看了半天shell入门 还是没对。 肯定各位仗义相助,简单写部分代码 谢谢。 谢谢。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kiron
2006-01-09
打赏
举报
回复
不必把问题复杂化
/bin/ls filename>file 2&>/dev/null
hnczwml
2006-01-09
打赏
举报
回复
Thanks
cwwhy
2006-01-09
打赏
举报
回复
cd /opt
if [ -e filename ]; then
echo filename >> savefilename
fi
用户目录下有一些 .bashrc等隐藏文件,这些都是比较好的例子
cwwhy
2006-01-09
打赏
举报
回复
判断文件的属性
格式:-操作符 filename
-e 文件存在返回0, 否则返回1
-r 文件可读返回0,否则返回1
-w 文件可写返回0,否则返回1
-x 文件可执行返回0,否则返回1
-o 文件属于用户本人返回0, 否则返回1
-z 文件长度为0返回0, 否则返回1.
-f 文件为普通文件返回0, 否则返回1
-d 文件为目录文件时返回0, 否则返回1
cwwhy
2006-01-09
打赏
举报
回复
cd /opt
if -e filename
echo >> savefilename
fi
Shell
遍历
目录
文件
的三种可靠方案:从for到find再到while read
在Linux、macOS、WSL及ADB
Shell
等终端环境中,遍历
目录
文件
是自动化
脚本
开发的基础能力。其本质是通过路径名展开或流式枚举机制,将
文件
系统中的条目转化为可编程处理的数据流。技术价值在于消除重复操作、保障批量任务的健壮性与可移植性。典型应用场景包括Git Bash下批量重命名、zsh中安全清理临时
文件
、adb
shell
里
授权安卓应用权限等。面对空格
文件
名
、空
目录
、特殊字符等现实挑战,单纯依赖`for file in *`极易失效;而`find`凭借按需匹配与`-print0`支持,成为生产环
Shell
遍历
目录
文件
的可靠
写
法与工程实践
在命令行自动化中,'遍历
目录
下
文件
'是基础却关键的技术动作,其本质是利用
shell
的路径名展开(pathname expansion)机制实现安全、可控的批量操作。原理上,`for file in *.txt`优于`ls | while read`,因前者由
shell
原生解析glob,规避子
shell
变量隔离、
文件
名
空格/编码解析错误等风险;技术价值在于构建高鲁棒性
脚本
——通过`nullglob`选项、引号包裹、
存在
性校验和POSIX兼容设计,保障
脚本
在Git Bash、Zsh、ADB
shell
及麒麟系统
Shell
脚本
实战:for循环、shift、SFTP与adb
shell
高频坑全解析
Shell
脚本
是Linux/Unix环境下自动化运维的基础工具,其核心价值在于将重复性操作封装为可复用命令序列。Bash作为最常见的解释器,其for循环、参数移位(shift)等机制,为批量
文件
处理、复杂参数解析提供了高效手段。然而,
脚本
在真实工程中常因环境差异、子
shell
变量丢失、管道符陷阱等问题出现静默错误。理解set -e调试、SFTP批处理、adb
shell
跨设备执行等实践,能显著提升
脚本
的健壮性。本文结合运维开发中的高频场景,剖析这些技术背后的原理与踩坑经验,并收敛到
shell
脚本
实战的完整方
跨平台
Shell
生存系统:从adb
shell
到国产Linux的命令兼容实战
Shell
是操作系统最基础的交互接口,其核心原理在于通过解释器解析命令、调用系统调用并与
文件
系统、进程模型深度耦合。不同平台(macOS、Linux发行版、Android、Windows WSL)因
Shell
解释器(bash/zsh/dash/mksh)、内核模块、init系统及权限模型差异,导致同一命令行为迥异——这并非bug,而是底层设计哲学的自然体现。掌握跨平台
Shell
能力,意味着理解环境指纹识别、命令语法降级、路径语义映射与错误归因链,从而支撑AI开发(如mac安装claude code)、移动调
pacquet 12.0.0-alpha.21 变更解读:GitHub Actions 环境持久化、工作流依赖
检查
改
opt
-in 与 update --latest 修复
本文围绕 pacquet(pnpm 的 Rust 原生实现,即本仓库 `pnpm/crates` 下的 CLI)12.0.0-alpha.21 版本的 changelog,逐条解读该版本的三项实质性变更:`pnpm setup` 在 GitHub Actions 中持久化 `PNPM_HOME` 与全局 bin
目录
、`pnpm outdated`/`pnpm update` 对 GitHub A
系统维护与使用区
19,615
社区成员
74,556
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章