1、shell语言

一、基本知识

1、shell不需要经过编译器编译,是解析型语言

2、shell脚本文件第一行必须协商#!/bin/bash,告诉当前脚本都使用/bin/bash工具进行解析

二、语法

1、普通变量

赋值号两边没有空格,最好有双引号(词组必须有双引号),变量跟C语言规则类似

2、系统预定义好的环境变量

echo $PATH(操作系统在哪些目录中搜索可执行文件)

echo $PWD

3、命令行变量

$#:参数的个数

$@/$*:输出所有的参数

$n:n表示数字,表示输出第几个参数

$?:最后一个命令的返回值

$$:当前shell的进程号

例子:

hello.sh中

echo "参数个数:"$#

echo "所有参数@" $@

echo "所有参数*" $*

echo "上一条shell命令的返回值*" $?

echo "第三个参数*" $3

在命令行中输出

./hello.sh 123 hi hhh

则会输出:

参数个数:3

所有参数: 123 hi hhh

上一条shell命令的返回值: 0

第三个参数:hhh

4、特殊符号

单引号(‘ ’):将内容毫无保留输出

双引号(将单词组括起来,不然第二个单词会被误为命令)(“ ”)‘

双引号可以引用其他变量

myName=Even_Lau

tree="$myName tree"

echo $tree # 输出则是 Even_Lau tree

#双引号所包含的内容还可以是一个命令

time="today is `date`" # date 是一个获取当前时间的命令

反引号(` `):若有该符号,则date表示时间,没有则为单词

5、管道:ls -l | wc当中,ls -l收集当前目录下文件的信息,然后送给管道,wc从管道读出来,计算出行数、单词个数和总字符

6、一般0:标准输入,1:标准输出,2:标准出错

ls -l 1>a.txt    #ls -l命令原本要输出1号描述符(即在命令行中输出变成保存在a.txt中)

echo 0

echo “hello world” 1>&2:讲一句话输出到标准出错设备中去

你可能感兴趣的:(linux,c语言)