Shell 学习 (待更新)

程序员应该掌握一些Linux shell脚本技能。
以下,简单记录一些学习的内容,了解的比较浅,适用于初学者。

shell脚本,简单理解就是可以通过执行shell文件来执行文件里的shell命令,可以用其他的编程语言编写,比如php等。

  1. 比如最简单的,我需要进入某个目录并查看其中的所有文件文件夹。
    在~(用户)目录下新建一个shell脚本文件test.sh, 用代码编辑器打开,里面的内容如下:
#!/bin/sh
cd /Desktop
ls

随后,直接在命令行./test.sh
注意一定要加上./表示执行当前目录下的某文件,并且给这个文件执行权限chmod +x
结果就是,列举出Desktop文件夹下所有的文件和文件夹。

  1. 变量、条件判断和循环的使用
    比如我想要在用户目录下创建一个目录shell,将桌面的一个文件里面a.txt移动到shell文件夹下并改名为a_1.txt并将它复制十份,名称为a_2.txt……a_10.txt,那么就可以写一个shell文件如下:
#!/bin/sh
#如果没有shell文件夹则创建
shellPath="/Users/sidney/shell"
if [ ! -d $shellPath ]; then
      mkdir $shellPath
fi
#将目标文件移动至目标文件夹,并进入目标文件夹
mv /Users/sidney/Desktop/a.txt $shellPath
cd $shellPath
#用循环复制文件
for ((i=0; i<10; i++)); do
      cp a.txt a_$i.txt
done

ok,这样就实现了我们想要的功能。
这个小例子用到了变量,条件判断,循环等内容,注意变量只有在使用时才需要加上$符号。条件判断还可以有else或elif部分,只需在fi(结束关键字)之前插入else就可以,但是 elif和if后必须加then关键字。
循环处,for (( ; ; ))代表循环条件。
条件判断处,有以下几种参数:

  • -d 用来判断文件夹是否存在
  • -e 用来判断文件是否存在
  • -f 用来判断文件(普通文件)是否存在
  • -c 用来判断文件(字符型特殊文件)是否存在
  • -b 用来判断文件(块特殊文件)是否存在
  • -s 用来判断文件是否存在且至少有一个字符
  • -r 用来判断文件是否存在且文件是否可读
  • -w 用来判断文件是否存在且文件是否可写
  • -x 用来判断文件是否存在且文件是否可执行

基于此,你就可以实现一些基本的功能,比如自动复制,粘贴文件文件夹等小功能而不必手动敲命令。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 100,354评论 9 468
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,951评论 0 11
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,429评论 3 53
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,038评论 2 33
  • 编写Shell脚本 我经常把Shell终端解释器形容是人与计算机硬件的“翻译官”,它作为用户与Linux系统内部通...
    jayafs阅读 1,286评论 0 49

友情链接更多精彩内容