shell基本教程
作为前端有时候还是会需要用到shell,梳理基本的shell使用方法。 文件开头需要注明脚本类型,以便于系统识别怎么来解析执行。 #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。 #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 高级编程语言 编译型语言,只要有解释器,也可以用作脚本编程,如C shell是内置的(/bin/csh),Java有第三方解释器Jshell,Ada有收费的解释器AdaScript。 如下是一个PHP Shell Script示例(假设文件名叫test.php): #!/usr/bin/php <?php for ($i=0; $i < 10; $i++) echo $i . "n"; 执行: /usr/bin/php test.php 或者: chmod +x test.php ./test.php 环境兼容性 定义变量 your_name="qinjx" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。 除了显式地直接赋值,还可以用语句给变量赋值,如: for file in `ls /etc` 使用变量 your_name="qinjx" echo $your_name echo ${your_name} 变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况: for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done 如果不给skill变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。 推荐给所有变量加上花括号,这是个好的编程习惯。IntelliJ IDEA编写shell script时,IDE就会提示加花括号。 字符串 单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的 your_name='qinjx' str="Hello,I know your are "$your_name"! n" 双引号里可以有变量 your_name="qinjx" greeting="hello,"$your_name" !" greeting_1="hello,${your_name} !" echo $greeting $greeting_1 获取字符串长度: string="abcd" echo ${#string} #输出:4 提取子字符串 string="alibaba is a great company" echo ${string:1:4} #输出:liba 查找子字符串 string="alibaba is a great company" echo `expr index "$string" is`#输出:3,这个语句的意思是:找出字母i在这名话中的位置,要在linux下运行,mac下会报错 内容摘取参考文档 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |