陈超众-Shell脚本

2017-03-13  本文已影响28人  陈超众

一. 命令基础

/:根目录
~:用户目录
ls -alF: 可连续输入几个参数

touch: 创建文件
cat: 查看文件

vim : 命令行编辑器

i:插入
esc:退出编写
:接受命令
wq:保存并退出


二. 第一个Shell脚本

实例:

#是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell
#!/bin/bash
echo "Hello World !"

运行shell脚本两种方法

1. 作为可执行程序

#使脚本具有执行权限
$chmod +x ./test.sh
#执行脚本
$./test.sh

2. 直接运行解释器

$/bin/sh test.sh
$/bin/php test.php


三. Shell变量

定义变量

#定义变量时不加美元$符号; 变量名与符号之间不能有空格
your_name="chenchaozhong"

使用变量

your_name="chenchaozhong"
echo $your_name
#花括号是可选的,加花括号是为了帮助解释器识别变量的边界
echo ${your_name}

只读变量

readonly your_name

删除变量

unset your_name

Shell 字符串

# 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号
your_name='chenchaozhong'
#双引号里可以有变量, 双引号里可以出现转义字符
str="Hello, I know your are "$your_name"! \n"
# 获取字符串长度
echo ${#your_name}
#提取字符串
echo ${your_name:1:4}
#查找子字符串, 注意反引号
echo expr index "$your_name" on

Shell 数组

#定义数组,空格分开,
数组名=(值1 值2 ... 值n)
#获取所有数组
echo ${array_name[@]}
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}

mac Zip 常用命令

最通俗的用法
zip -q -r -e -m -o [yourName].zip someThing
-q 表示不显示压缩进度状态
-r 表示子目录子文件全部压缩为zip //这部比较重要,不然的话只有something这个文件夹被压缩,里面的没有被压缩进去
-e 表示你的压缩文件需要加密,终端会提示你输入密码的
// 还有种加密方法,这种是直接在命令行里做的,比如zip -r -P Password01! modudu.zip SomeDir, 就直接用Password01!来加密modudu.zip了。
-m 表示压缩完删除原文件
-o 表示设置所有被压缩文件的最后修改时间为当前压缩时间

当跨目录的时候是这么操作的
zip -q -r -e -m -o '\user\someone\someDir\someFile.zip' '\users\someDir'

zip -r -e SuperMovieiPhone.zip SuperMovieiPhone

上一篇下一篇

猜你喜欢

热点阅读