初识shell
2016-06-02 22:12
531 查看
这篇文章只是记录自己初学shell的笔记,读者可以直接去看这篇文章Shell脚本编程30分钟入门
变量赋值,等号周围不能有空格;定义变量不用
作为可执行程序
注意,一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。
IntelliJ IDEA编写shell script时,IDE就会提示变量加花括号。
每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。
单引号和双引号区别:(和php类似)
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号里可以有变量
双引号里可以出现转义字符
还要注意,sh里的
.和source的意思一样 . ./bin/startup.sh sh startup.sh
自动部署gradle项目代码到云主机
[参考]
Shell脚本编程30分钟入门
SSH 在本地执行远程机器上的命令
变量赋值,等号周围不能有空格;定义变量不用
$使用变量要加
$
作为可执行程序
chmod +x test.sh ./test.sh
注意,一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin, /sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。
IntelliJ IDEA编写shell script时,IDE就会提示变量加花括号。
每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。
单引号和双引号区别:(和php类似)
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号里可以有变量
双引号里可以出现转义字符
还要注意,sh里的
if [ $foo -eq 0 ],这个方括号跟Java/PHP里if后面的圆括号大不相同,它是一个可执行程序(和cd, ls, grep一样),在CentOS上,它在/usr/bin目录下,正因为方括号在这里是一个可执行程序,方括号后面必须加空格,不能写成
if [$foo -eq 0]
.和source的意思一样 . ./bin/startup.sh sh startup.sh
自动部署gradle项目代码到云主机
#!/bin/sh cd /Users/gary/Documents/XXX sh gradlew war cd project_name/build/libs scp project_name.war root@ip:~ ssh root@ip "cd /apps/svr/apache-tomcat-8.0.32/webapps;rm -f project_name.war;rm -rf project_name;mv ~/project_name.war project_name.war"
[参考]
Shell脚本编程30分钟入门
SSH 在本地执行远程机器上的命令
相关文章推荐
- bash命令/文件管理-文件管理
- bash命令/文件管理-vim操作
- bash命令/文件管理-基本命令
- bash命令/文件管理-bash命令
- shell脚本输出1-1000内的偶数
- Linux操作系统基础解析之(七)——Bash(Shell)基础知识(2)
- shell脚本的时间指令date
- shell 实现N位自动补零和日期循环
- adb shell input swipe 1000 100 0 0
- shell字符段截取
- 【SHELL】批量下载GIT代码
- Linux-shell脚本-for语句/where语句/until语句
- Linux-shell脚本-if语句/case语句
- Powershell学习之道-文件夹共享及磁盘映射
- 检查mysql是否成功启动的方法(bat+bash)
- Shell脚本8种字符串截取方法总结
- bash中 2>&1 & 的解释
- shell 实例收集
- Powershell学习之道-文件夹共享及磁盘映射
- 添加系统用户,从一个文件列表里。