小程序告一段落,达到阶段性目标。下一步继续Linux的学习。。。。脑子不够用啊。。。真费。。。
书中介绍。。检测系统某些文件或者相关属性时,用test指令。。
例如。测试某个文档目录是否存在可以 test -e /aaa 点输出,没有任何结果?想要看到结果该怎么操作呢?echo命令。
test -e /aaaa && echo "存在" || echo "不存在" 输出结果 不存在。好啦,我记忆却是太差了。。。&& || 两者啥意思?百度
在linux中,&和&&,|和||介绍如下:
& 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &
&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2'
| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l
|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"
test的详细介绍,如下面一大堆图。。。我想吐
我觉得上面这一坨东西,只有用到的时候现查比较实在吧。。。。。哎。。。好痛苦
来个例子压压惊
vim file_perm.sh
1 echo -e 'input file name \n'
2 read -p 'input file name : ' filename
3 test -z filename && echo 'you must input filename ' && exit 0
4 test ! -e ${filename} && echo 'the filename is not exits' && exit 0
5 test -f ${filename} && filetype='regulare file'
6 test -d ${filename} && filetype='directory'
7 test -r ${filename} && perm= 'readable'
8 test -w ${filename} && perm= '${perm} writable'
9 test -x ${filename} && perm= '${perm} executable'
10
11 echo 'The filename:${filename} is a ${filetype}'
12 echo 'and the permissions for you are :${perm}'
执行 sh file_perm.sh
我去。竟然提示readable 不是指令,见鬼啦。。。。难道是单引号和双引号的问题么?
。未找到命令。。。单引号改双引号,还是没用。。。好吧,难道是我默写错了?对照着书看一遍代码。。。
没错啊。。难道是因为没加PATH?不可能啊。。。这就是个环境变量,不影响啊,算了,保险起见加上。。。问题依旧。。。。一头汗。。。。这是什么鬼。。。。。。。。。。。。。
抽根烟,冷静冷静。。。。
抽完烟回来。。再仔细看了看代码。。。发现。在parm= "readable"的readable看到没,前面有个空格。。。空格。。。空格。。。写程序老是习惯空格以看起来规整。。这倒好。。。将空格删掉,试试。。。
完美,贴图如下:
。变量名=后面不能加空格。天坑啊。。。。百度一下,为啥去
结论如下
强烈注意, shell中变量在赋值的的时候, 等号前后一定不要有空格.
如果出现空格会怎么样?
注:以下 "^" 代表空格
1. "=" 前空格
"VARIABLE^ =value"
脚本将尝试运行一个"VARIABLE"的命令, 带着一个"=value" 参数.
2."="后空格
"VARIABLE=^value"
脚本将尝试运行一个"value"的命令,
并且带着一个被赋值成""的环境变量"VARIABLE".
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix