linux basic ------ shell
一般习惯把 shell 脚本语言和 shell 解释器统称为 shell,用 shell 脚本语言编写的程序简称脚本。
shell 解释器
是用 c 语言写一个应用程序,它是用户使用 Unix / Linux 的桥梁,通过调用系统核心的大部分功能来执行任务。
可以通过在 shell 解释器交互界面敲入一行行指令让 shell 解释器执行任务,也可以让 shell 解释器 调用脚本执行任务。
shell 解释器有很多种,常见的有bash、sh、csh、ksh等。其中 bash 是 linux 默认使用的 shell
shell 脚本语言
脚本最好用 vim 编写,在 window 上可能会出现编码问题,导致识别不了指令,肉眼看不出来
举例:
test.sh(后缀只是为了好辨认,什么后缀都无所谓)
#!/bin/bash
echo "Hello World !"
执行脚本
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
或者
bash test.sh #执行脚本
注:./test.sh 会打开一个子shell去读取、执行test.sh,并把执行过程结果返回给父shell,但是不改变父shell的环境(比如test.sh定义的变量不能在父shell中使用)
语法
if [[ ! -z $1 ]]
判断第一个参数不为空
!非
-z 在if里的意思是 空
$1 第一个参数
[ ! -z $1 ],这是需要返回一个值0或者1
最后结果是 if[1]或者if[0]
linux basic ------ shell的更多相关文章
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- linux中用shell获取昨天、明天或多天前的日期
linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...
- linux中用shell获取时间,日期
linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...
- Linux 的shell 字符串截取很有用。有八种方法。
一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1 # 号截取,删除左边字符,保留右边字符. echo ${va ...
- Linux Bash Shell 快速入门
BASH 的基本语法 最简单的例子 —— Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 ...
- linux,shell输入反斜杠显示'W'。
linux,shell输入反斜杠显示'W'. solution: 字体必须为"Courier New".
- 06 Linux下Shell介绍
一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...
随机推荐
- 蓝牙inquiry流程之HCI_Inquiry_Result_With_RSSI和HCI Extended Inquiry Result处理
首先介绍一下和inquiry的相关的流程. inquiry是从协议栈下发的一个HCI命令.其格式如下: 这里简单介绍下第二个参数,是inquiry的持续时间, 从上图看出 inquiry持续的时间是 ...
- [转载]windows下PHP + Nginx curl访问本地地址超时卡死问题的解决方案
原因: windows 下 nginx+php环境,不支持并发. 解决方案: 1.在配置nginx vhost时,需要同时运行的网站设置不同的fastcgi_pass的端口号 server { ser ...
- GIT版本控制工具总结
1.安装GIT 现在的Linux和Unix包括MAC有的已经自带git,没有自带git的话,在Debian或Ubuntu Linux系统下执行sudo apt-get install git或者sud ...
- Linux/Mac 挂载远程服务器目录到本地
1. 安装 sudo apt-get installsshfs 2. 创建SSHFS 挂载目录 sudo mkdir/mnt/siyuan 3.使用SSHFS 挂载远程的文件系统 sudo sshfs ...
- 《杜增强讲Unity之Tanks坦克大战》4-坦克的移动和旋转
4 坦克移动和旋转 本节课的目标是实现同时wsad和上下左右控制两个坦克分别移动和旋转 4.1 本节代码预览 image 将上节课场景s2另存为s3. 4.2 添加车轮扬沙效果 从Prefabs里 ...
- Celery基本使用
Celery 什么是Celery? Celery是一种简单/高效/灵活的即插即用的分布式任务队列. Celery应用场景? 需要异步处理的任务,发邮件/发短信/上传等耗时的操作.最终到达提升用户体验的 ...
- PAT甲级题解-1057. Stack (30)-树状数组
不懂树状数组的童鞋,正好可以通过这道题学习一下树状数组~~百度有很多教程的,我就不赘述了 题意:有三种操作,分别是1.Push key:将key压入stack2.Pop:将栈顶元素取出栈3.PeekM ...
- 【Beta阶段】第三次Scrum Meeting!
每日任务内容: 本次会议为第三次Scrum Meeting会议~ 由于本次会议项目经理召开时间依旧较晚(晚上12点半),所以在公寓7层召开,女生参与了线上会议,召开时间大家集会10分钟. 队员 昨日完 ...
- 20135202闫佳歆--week3 构造一个简单的Linux系统MenuOs--学习笔记
此为个人学习笔记存档 week 3 构造一个简单的Linux系统MenuOs 复习: 计算机有三个法宝:存储程序计算机,函数调用堆栈,中断 操作系统有两把剑: 1.中断上下文的切换,保存现场和恢复现场 ...
- 团队作业一 庆祝"十五万的总冠军"成立
很荣幸能够撰写我们团队的第一篇博客. 我们这些同学能组成一个新的团队真的很高兴,团队中的每一个人都有自己的优点的长处.希望在工作中我们能竭尽 所能,充分发挥我们的本事,让我们大家各自发挥自己的才能.. ...