LInux shell入门 --- 基础

本文深入探讨了Linux shell脚本的基础知识,包括shell命令、变量、文件描述符、错误输出处理、后台进程符号及shell脚本编写技巧。通过实例演示了如何使用标准输入输出和错误重定向,以及如何在脚本中实现高效错误处理。此外,文章还介绍了shell内置变量、系统变量、退出状态检查等关键概念,并提供了实用的示例代码。旨在为Linux shell编程爱好者提供全面的指南。
linux shell 中"2>&1"含义
脚本:nohup /mnt/Nand3/H2000G >/dev/null 2>&1 &
对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是[color=red]文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了[/color].其中[color=red]0表示键盘输入 1表示屏幕输出 2表示错误输出[/color].把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。

Linux Shell Scripting Tutorial(A Beginner’s handbook)
[url=http://www.freeos.com/guides/lsst/ch03.html]Linux Shell Scripting Tutorial (LSST) v1.05r3[/url]

Quick Introduction to Linux
Shell是用来交互的用户程序或者环境,是一个从标准输入(键盘)或者文件中执行命令的命令行语言解释程序。它不是系统内核的一部分,它使用系统内核来执行程序,创建文件等。
$ cat /etc/shells(查看系统支持的所有shell)
echo $SHELL(查看当前正在使用的Shell)
[color=red]Shell内置变量:[/color]
echo $?(查看执行Shell命令后的退出状态 0代表成功,非0代表有问题)
echo $#(查看Shell的参数个数)
echo $*(查看Shell的所有参数)
echo $@(查看Shell的所有参数)
echo $$(查看Shell的PID)
echo &$!(查看上一个启动的后台进程的PID)
echo $0(Shell Script的文件名称)
echo $n(Shell Script的第n个参数)

系统变量:默认大写,用户自定义变量:默认小写
用户自定义变量:变量名=变量值
变量名规则:
echo命令:用来显示文本或者变量的值
Shell运算:expr op1 math-operator op2

双引号”、单引号’、[color=red]左引号`(Back quote,居于键盘的左上角和~在同一个键位、执行命令的作用,eg:echo "Today is `date`")[/color]
退出状态
read variable1 variable2...variableN 从键盘中得到用户输入的数据并保存的相应变量中(多个变量用空格隔开)
command1;command2 多个命令一起执行
输入输出重定向
>,把命令或者脚本执行结果输出到文件,如果文件已经存在,那么覆盖
>>,把命令或者脚本执行结果输出到文件末尾,不会覆盖原有信息
<,Linux-command < filename,从文件而不是键盘中得到输入参数
管道|,前一个命令的输出作为后一个命令的输入ls | more
$ tail +20 < hotel.txt | head -n30 >hlist
[color=red]& 后台进程符号,单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。[/color]

Shell Script:是保存在纯文本文件中的一系列命令,类似与MS-DOS下的批处理文件,但是比批处理文件更加强大。
编写Shell脚本:
1,使用文本编辑器vi、mcedit来编写shell srcipt
2,chmod授权
3,执行bash your-script-name、sh your-script-name、./your-script-name、. command-name
4,[color=red]注意:./代表当前目录,只有一个.的时候代表在当前的shell环境下执行脚本[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值