linux 一个c语言编写出的shell命令在哪定义后面的参数,Linux shell 编写(2)

shell脚本中变量的定义和使用:

1.shell中变量名可以由字母,数字,下划线组成,但数字不能作为变量名的第一个字符。

2.通过赋值符号"="来定义一个变量

如:myname='galley'  #字符串类型,不解析任何字符

courses="abcdef"  #双引号内部会解析$和反斜杠特殊字符

sum=100;price=1.25

now_date=`date`  #反引号执行系统命令

shell中的变量只有字符串类型,所以当你不用引号引起来的时候要保证变量的值不包含特殊符号,如空格,美元,&

3.变量的引用,适用美元符号$加变量名,来引用一个变量的值

如: 定义变量:programe_name="http"

引用变量:echo $programe_name

或者    echo{$programe_name}

4.变量名外面的花括号

是可选的,加花括号是为了帮助解释器识别变量的边界,比如下面情况:

#!/bin/bash

for skill in pop java linux db2

do

echo "i  am good at  ${skill}Script" #帮助shell解释器识别边界值

done

shell环境变量,局部变量以及预定义变量:

环境变量的定义:

一般指操作系统中运行环境的一些参数,如PATH,PWD,USER,当前使用$shell名称等

常见的环境变量:

PATH:系统路径

HOME:当前用户目录

HISTSIZE:保存历史命令记录的条数

LOGNAME:当前用户登录名

HOSTNAME:主机名称,若应用程序要用到主机名的话,一般是从这个环境变量中取得的

SHELL:当前用户用的是哪种shell

LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量

MAIL:当前用户邮件存放目录

查看环境变量:

env:显示所有环境变量

echo $PATH:显示某一个环境变量的值

局部变量包括:

1.在shell脚本中由用户自定义的变量

shell脚本中定义的变量作用域是从被定义的地方开始,到shell结束为止,起作用域为本脚本,离开脚本,变量无效

2.在用户登录的shell中定义的变量,重新登录后该变量消失

预定义变量:

预定义变量和环境变量类似,也是shell一开始就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重新定义它,所有预定义变量都是由$符号和另一个符号组成的,常用的shell预定义变量有:

·$# 位置参数变量

·$* 所有位置参数内容

·$?命令执行后的返回状态。   #0 表示成功,非0表示失败。

·$$ 当前进程的进程号

·$!后台运行的最后一个进程号。   很少用 了解即可

·$0 当前执行的进程名

变量的输入和输出:

1.echo 命令发送数据到标准输出设备,数据采用的是字符串的方式,echo命令可以输出一个变量。

3e54b483d46f73fe798fb65f8c099278.png

2.echo 两个重要的参数

-e    # 识别输出内容里的转义序列

0902d5d3491249246b95e989acdb3d23.png

-n   #忽略结尾的换行

d0255d31ff086279c97319b88df4e4d0.png

3.printf和echo的功能类似,printf也可以输出变量,printf还可以按照格式输出变量

注意的是:

1)printf的默认是没有换行的,换行需要自己添加“\n”

d6e7acf5193c298419bdf783110df67e.png

2)printf支持格式化输出

67845e6d153ccdcce3754f21e4922a9c.png

read输入:read命令读取标准输入设备的下一行,标准输入中的第一行到换行符前的所有字符都会被读取,并赋值给对应的变量。

可以结合echo一起实现读取并输出的功能

30b8f14f0f8c7dbbf008c47f850af608.png

1.1.1.1为键盘输入。

Linux shell编写脚本部署pxe网络装机

Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

Linux shell编写端口扫描脚本

Linux shell编写端口扫描脚本 需求: 扫描特定主机 扫描特定主机的特定端口 扫描特定网段 扫描特定网段中哪些主机开放了特定的端口 源码如下: #/bin/bash #该脚本用于对特定目标主机 ...

Linux shell 编写(1)

shell脚本的编写步骤 1.创建以.sh为扩展名的文件           touch 2.编辑脚本文件                              vim 3.增加脚本文件执行权限 ...

linux 下shell 编写脚本

linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...

Linux shell脚本编程(三)

Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

Linux shell脚本编程(一)

Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

Linux Shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

Linux Shell入门(转载)

From:http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用 ...

转:Linux Shell编程入门

http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来 ...

随机推荐

【BZOJ】3991: [SDOI2015]寻宝游戏

题意 给一个\(n\)个点带边权的树.有\(m\)次操作,每一次操作一个点\(x\),如果\(x\)已经出现,则\(x\)消失.否则\(x\)出现.每一操作后,询问从某个点开始走,直到经过所有出现的点 ...

ElasticSearch与Spring Boot集成问题

1.None of the configured nodes are available 或者 org.elasticsearch.transport.RemoteTransportException ...

Go http共享

package main import( "net/http" "fmt" ) func main(){ h := http.FileServer(http.D ...

C语言文件操作

C语言文件操作,以下以基本的例子和说明来展开怎么通过C语言来进行文件操作. 操作文件,我们得需要知道什么?当然是路径和文件名. 首先我需要知道我操作的文件在哪里,叫什么名字.在C语言中还存在一个打开方 ...

android studio从1.5更新到2.0后terminal无法运行gradle命令,提示无法找到gradle命令

android studio从1.5更新到2.0后terminal无法运行gradle命令,提示无法找到gradle命令. 'gradle' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 设 ...

1-NPM

什么是NPM NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从N ...

Jquery EasyUI中treegrid的中右键菜单和一般按钮同时绑定事件时的怪异事件

做个项目使用jquery  easyui来做前端,也许是对此不是很熟悉,总是发现一些不可理解的事件. 主要源代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值