楔子

学习的境界层次:初窥门径-略有小成-登堂入室-炉火纯青→融会贯通-登峰造极(韵)-返朴归真(势)→出神入化(意)-超凡脱俗(真意)

背景

最近在学习和写C++的代码,使用CMakeLists.txt构建项目,由于要探索学习的东西比较多,所以搞了好几个这个文件。出于方便,还写了个脚本build.sh,用于在build文件夹编译,并且生成可执行文件到bin目录。内容如下:

!#/bin/bash
if [ ! -d build ]; then
    mkdir build
fi
cd build && cmake ..
make

但是感觉还是有点麻烦,每创建一个项目需要手工创建build.sh。于是想着咋样自动化的生成这个文件呢?后来发现可以再写一个脚本gen_build.sh,用于自动生成这个文件到当前目录,然后将该脚本放到/usr/local/bin路径下并添加可执行权限,这样就可以在任意路径下执行gen_build.sh命令然后自动生成该文件了。

echo '!#/bin/bash
if [ ! -d build ]; then
    mkdir build
fi
cd build && cmake ..
make' > build.sh
if [ -f build.sh ]; then
    echo -e "\033[32msucceed gen build.sh\033[0m"
else
    echo -e "\033[31mfailed gen build.sh\033[0m"
fi

这样就方便多了!

所感

于是感慨,之前对Linux或sh的理解还是更多停留在简单的应用的阶段,即知其然的层面。而自己写bash脚本,提升自己效率的过程,则是创造的阶段,有点摸到知其所以然的层面了。

我想许多领域都是这个情况,比如学习的境界:初窥门径-略有小成-登堂入室-炉火纯青→融会贯通-登峰造极(韵)-返朴归真(势)→出神入化(意)-超凡脱俗(真意)。对于某个学科领域的理解,对于编程语言的掌握,对于工具的使用,大致都是这个阶段。只是我们作为菜鸟许多时候可能极限就是融会贯通了。所以我们如果有志成为某个领域的高手,必须要看到【一万个小时定律】。必须要不断的练习、学习、复盘,往复这个过程,如此才能成为“厉害”的人。然而精力有限,必须要明确方向,做出取舍。

参考

评论




博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Volantis 作为主题,总访问量为
载入天数...载入时分秒...
冀ICP备20001334号