linux sh : 整理一些细节
发布日期:2021-06-30 22:17:29
浏览次数:2
分类:技术文章
本文共 1996 字,大约阅读时间需要 6 分钟。
前言
浏览了一篇讲shell编程的资料。
边看边查资料边实验,学到了一些以前不清楚或不知道的知识点。 e.g. * linux命令帮助的本地查法 help -m , 以前用man 和info查不到,就得上网去查。这个解决能解决很多问题,上网去查出的资料,如果人家不带例子,还不如本地的帮助好。 * 在脚本中变量的正规用法 ${my_var} * declare的几种有用的参数 * ‘’和“”的区别。以前我总是用”“.实验
# !/bin/bash# @file shell_basic_01.sh# @brief 整理一些未注意到的细节# 查看linux命令的帮助(总有一个能看到命令的帮助)# man the_cmd# info the_cmd # e.g. info wc# help -m the_cmd # e.g. help -m declare# 将一个目录中的所有文件(遍历)权限都改成一样的# chmod -R 775 ./shell_basic/# export的用法 e.g. export MY_PRJ_NAME="my_project"# 查看环境变量(包括用export导出的变量)# typeset | grep -i "the_keyword_on_OS_env"# declare | grep -i "the_keyword_on_OS_env"# declare的用法# declare: usage: declare [-aAfFilrtux] [-p] [name[=value] ...]# https://ss64.com/bash/declare.html# help -m declare# 觉得有用的几个declare选项# declare -a 数组# declare -f 函数# declare -i 整数# declare -r 只读# prog infodeclare -r g_str_prog_name="shell_basic_01"declare -r g_str_prog_ver="1.0.0.1"declare -r g_str_prog_time="2018-04-16 13:27"# error codedeclare -i MY_RC_OK=0declare -i MY_RC_ERR=1# sh脚本函数是没有前向声明的, declare -f fn_xx 不好使(虽然不报错)# 为了防止调用到后面调用的函数, 将要执行的主代码放到脚本的最后面# 这样就不会出现调用到后面定义的函数的问题function fn_main() { fn_init fn_test_case echo "END" return ${MY_RC_OK}}function fn_init() { clear # 正规的使用变量的例子 e.g. ${g_str_prog_name} # 好处,可以防止bash分不清变量值和后面非变量字符, 等于是用{}显势指定变量名称,不用bash去猜了 echo "[${g_str_prog_name}][${g_str_prog_ver}][${g_str_prog_time}]" return ${MY_RC_OK}}function fn_test_case() { declare ftype # wc --files0-from=F # 从F文件中读取文件名作为输入文件。如果F为"-",则从标准输入中读取文件名 # 从当前目录下的.c和.h文件中取行的最大长度 e.g. 154 总用量 find . -name '*.[ch]' -print0 | wc -L --files0-from=- | tail -n1 # sed 用于查找替换字符串 # awk 用来提取和打印行中的字段(分隔符可自定义) ftype=$(file './test.tar') # '', 不允许变量扩展 # "", 允许变量扩展 echo "ftype = [${ftype}]" echo -e 'ftype = [${ftype}]' echo 'ftype = [${ftype}]' printf 'printf : ftype = [${ftype}]\n' printf 'printf : ftype = [%s]\n' "${ftype}" # 在格式化字符串中,还是用''围住字符串较好 # 如果是原样照印, 使用echo # 如果不是原样照印, 使用printf + '\n'}fn_mainexit 0
转载地址:https://lostspeed.blog.csdn.net/article/details/79962943 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月25日 06时58分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
select下拉框分组展示插件的使用--(select-mania插件的使用)
2019-04-30
Java 8新特性之--lambda表达式的使用和应用
2019-04-30
Java Lambda表达式的应用--Stream API操作集合框架
2019-04-30
省市区三级联动插件Distpicker--前端实现地区三级联动
2019-04-30
solr的使用详解
2019-04-30
Myslq连接(JDBC)url属性的参数的设置
2019-04-30
关于Java继承,重载及运行的顺序的总结
2019-04-30
关于Spring MVC与前端的交互
2019-04-30
Mybatis逆向工程的使用
2019-04-30
关于Hibernate的优缺点
2019-04-30
常用的 Maven 命令
2019-04-30
常用的20个正则表达式
2019-04-30
数据结构之顺序表的实现
2019-04-30
数据结构之线性链表
2019-04-30
JQuery使用validate插件完成校验
2019-04-30
关于java的继承
2019-04-30
关于java的内部类
2019-04-30
关于java的枚举
2019-04-30
一个简单的layui登陆界面
2019-04-30