知识点总结

1、Uboot的流程调用:

1.1、cmd_process函数是怎么被调用到的:

cmd_process在common/command.c

1.2、uboot阶段断电,后续起不来,可能要换线去使用,也许和电源线有关

2、git 相关使用

2.1 .gitignore相关的使用

复制代码
1、空行或是以 # 开头的行即注释行将被忽略。

2、可以在前面添加 正斜杠/ 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。

3、可以在后面添加 正斜杠/ 来忽略文件夹,例如 build/ 即忽略 build 文件夹,/doc/build/ 这样的目录也会忽略。

4、可以使用 ! 来否定忽略,即比如在前面用了*.apk,然后使用!a.apk,则这个a.apk不会被忽略。

5、* 用来匹配零个或多个字符,如*.[oa]忽略所有以".o"或".a"结尾;

6、[] 用来匹配括号内的任一字符,如 [abc],也可以在括号内加连接符,如 [0-9] 匹配0至9的数;

7、? 用来匹配单个字符。


# 忽略 .a 文件
*.a
# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的所有文件,/doc/build/ 这样的目录也会忽略
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf

https://www.cnblogs.com/jmcui/p/9891428.html

2.2 问题描述:git add 文件之后,如何取消add?

使用git add 命令添加文件之后,还没有git commit ,可以使用

复制代码
首先
git status 查看文件状态
想要 add 的就添加上,想要restore 的就去掉
然后使用
git commit --amend 命令,会弹出一个编辑页面,想要修改commit -m "" 的内容就可以在这里修改.
最后
git push origin HEAD:refs/for/分支名

2.3 git commit后,如何进行撤销commit操作

我们可以使用命令:git reset --soft HEAD^ 这样就成功撤销了commit。

使用git reset --hard HEAD^ 这样连add也撤销了。

3、.sh脚本

3.1

cd -,返回之前目录下

if [ ]; then

fi if的结构

case "" in

"")

;;

esac循环结构
read -p "" choice :把终端输入的变量给choice

复制代码
export SECURE_BOOT_FLAG=off
case "$1" in
"")
    make image -j32
      这里用来判断SECURE_BOOT_FLAG是否存在并且等于on
   if [ -n "$SECURE_BOOT_FLAG" ] && [ "$SECURE_BOOT_FLAG" = "on" ]; then
        cd $PWD/image/security_boot_tools && make clean && make
        cd -
        cp -rf $PWD/image/security_boot_tools/image_secure/*   $PWD/image/output/images/
    fi
    ;;
 esac

(basename "0")

$0,当前脚本的名称,带脚本与工作目录之前的相对路径

basename 去除字符串路径部分

expr整数运算(还有字符串长度,字符串比较,匹配,提取等)

复制代码
function do_project_config()
{
    while true; do
        count=1
        echo ""
        for file in `ls $PROJ_TOP_DIR/projconfs/*.h`; do
            if [ "$(basename $file .h)" != "projconf" ]; then
                config_array[$count]=$(basename $file .h)
                echo $count. ${config_array[$count]}
                count=`expr $count + 1`
            fi
        done
        echo ""
        read -p "please select a project config: " choice
        if [ "$choice" -gt 0 -a "$choice" -lt "$count" ] 2> /dev/null ; then
            break
        else
            echo -e "incorrect index number !\n"
        fi
    done
    cp -v $PROJ_TOP_DIR/projconfs/${config_array[$choice]}.h $PROJ_TOP_DIR/projconfs/projconf.h
    echo -e "\n\033[32musing project config: ${config_array[$choice]}\033[0m\n"
}

•使用awk命令处理$PROJ_TOP_DIR/projconfs/projconf.h文件。awk的脚本 2 = = " ′ 2=="' 2=="′key'",意味着它在每一行中查找第二列(假设文件格式为key-value形式)与变量key相匹配的行。

•对于匹配的行,{print $3}打印第三列,即匹配键对应的值。•管道操作|将awk的输出传递给sed命令,sed 's/["\r]//g'用于去除提取出的值中的双引号和回车字符,确保字符串干净。

复制代码
function export_project_config()
{
    key=$1
    val=`awk '$2=="'$key'" {print $3}' $PROJ_TOP_DIR/projconfs/projconf.h | sed 's/[\"\r]//g'`
    export $key=$val
}
export_project_config CONFIG_TOOLCHAIN_TYPE
export_project_config CONFIG_PROJ_DECONFIG

4、python相关

python -v,找不到路径

bash: /usr/bin/python: No such file or directory

解决:

复制代码
cd /usr/bin 			进到目录下,看下指向是不是没问题
查看的是python的软连接
whereis python			已经列出来了版本及对应目录
rm -rf /usr/bin/python  清楚软连接
ln -s /usr/local/bin/python3.8 /usr/bin/python
#这里要注意,不要用成了ln -s /usr/bin/python3.8 /usr/bin/python要根据whereis下的路径来看

https://blog.csdn.net/torpidcat/article/details/105823644
相关推荐
@LetsTGBot搜索引擎机器人几秒前
用 Python 打造一个 Telegram 二手交易商城机器人
开发语言·python·搜索引擎·机器人·.net·facebook·twitter
元基时代1 分钟前
视频图文矩阵发布系统企业
大数据·人工智能·矩阵
IT研究室1 小时前
大数据毕业设计选题推荐-基于大数据的人类健康生活方式数据分析与可视化系统-大数据-Spark-Hadoop-Bigdata
大数据·生活·课程设计
武子康2 小时前
大数据-122 - Flink Watermark 全面解析:事件时间窗口、乱序处理与迟到数据完整指南
大数据·后端·flink
九河云4 小时前
在云计算环境中实施有效的数据安全策略
大数据·网络·数据库·云计算
Brianna Home4 小时前
从“码农”到“导演”:AI结对编程如何重塑软件工程范式
大数据·人工智能·深度学习·自然语言处理·chatgpt
云飞云共享云桌面4 小时前
SolidWorks服务器多人使用方案
大数据·运维·服务器·前端·网络·电脑·制造
码上地球5 小时前
大数据成矿预测系列(四) | 成矿预测的“主力军”:随机森林与支持向量机深度解析
大数据·随机森林·支持向量机
电商软件开发 小银6 小时前
八年磨一剑:中品维度如何用“分布式电商”为商家打开增长新通路?
大数据·软件开发·私域运营·实体店转型·中品维度·数字化经济·商业模式设计
武汉唯众智创7 小时前
产教融合背景下,高职大数据技术专业“课证融通”课程解决方案
大数据·课证赛创·课证融通·大数据专业·大数据技术专业·高职大数据技术专业