`

shell脚本学习指南笔记-2.入门

 
阅读更多

 

2.1

 

who | wc -l

who  查看登录的用户

wc 字数计算  line 行数  word 字数  character 字符数

-l   line 行数

|  管道符   在两程序之间建立管道  who的输出成了wc的输入  wc所列出的结果就是已登录用户的个数

 

 

 

$ cat > nusers                    建立文件,使用cat复制终端的输入

who | wc -l                         程序的内容

^D                                      Ctrl + D表示结束

$ chmod 744 nusers          让文件有执行的权限

$ ./nusers                          执行输出

            6                            输出的结果

 

2.5.2

$ myvar=this_is_a_long    设置变量

this_is_a_long                   输出显示

 

 

first=isaac middle=bashevis last=singer      

单行可以多次赋值

 

fullname="isaac bashevis singer"

有空格时请使用引号

 

oldname=$fullname

这样也行,但不需要使用引号

 

newname="$first $middle $last"

多个变量相连时,要使用引号

 

echo -n "123"

打印,-n表示去掉最后的换行符

 

printf "what you name? '%s.%s'\n" sem zhang

打印,第一部分为要输出的文本   %s  表示动态数据的站位符,\n表示换行,printf不带换行功能

第二部分为站位符的参数列表

最后输出:what you name? 'sem.zhang'

百分符号最常用的有两个,%s用于字符串,%d用于十进字数字

参数大于站位符个数,将循环输出

如:printf "what you name? '%s.%s'\n" sem zhang sss

输出:what you name? 'sem.zhang'
         what you name? 'sss.'

参数小于站位符个数,缺少的部分,将忽略

如:printf "what you name? '%s.%s...............'\n" sem

输出:what you name? 'sem................'

 

tr -d 'how' < do-file.txt

在控制台中显示do-file.txt文件中的内容,但所有h o w 都不显示

<  修改输入源

 

tr -d 'how' < do-file.txt > UNIX-file.txt

将do-file.txt文件中的内容输出到UNIX-file.txt文件中,但所有h o w都将删除

< 指定输入源  

> 指定输出源

 

tty-testl.sh

 

printf "Enter new password:"               打印
stty -echo                                            关闭自动打印输入的功能,及键盘输入的字符不显示
read pass < /dev/tty                            读取输入
printf "\n"                                             换行
printf "Enter again:"                             打印
read pass2 < /dev/tty                          读取输入
printf "\n"                                             打印
stty echo                                              打开自动打印输入功能

 

 

关于基本命令

$PATH  是一个以冒号分隔的目录列表,你可以在列表所指定的目录下找到所要执行的命令

所找到的命令可能是编译后的可执行文件,也可能是shell脚本

默认的路径至少包含/bin与/usr/bin

名称为bin的目录用来保存可执行文件,bin是binary的缩写

如果编写自己的角本,并让shell能够自动的找到它们,只要建立自己的bin目录,并将他们加入$PATH中的列表中就可以了

如:  PATH=$PATH:$HOME/bin

 

$PATH中的空项目表示当前目录

如:PATH=:/bin:/var/bin      最先找当前目录

PATH=/bin:/var/bin:            最后找当前目录

PATH=/bin::/var/bin            找完bin后找当前目录,再找/var/bin目录

 

 

shell的脚本的参数

例子

#! /bin/sh

# finduser   ----  察看第一个参数所指定的用户是否登录

who | grep $1

$ ./finduser sem

输出

sem      pts/1        2011-10-29 06:07 (192.168.1.100)

但这里如果不给参数或都参数数目不对,就会出现问题

注:当参数号大于9时,就应该用大括号把数字框起来,${10}

 

 

 

执行跟踪

$ sh -x nusers    打开执行跟踪功能
+ who                被跟踪的命令
+ wc -l              
2                        实际的输出

 

在角本中使用

#! /bin/sh

#打开跟踪功能
set -x
echo 1st echo

set +x
#已关闭跟踪功能
echo 2st echo
 

 

 

分享到:
评论

相关推荐

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    《LINUX与UNIX SHELL编程指南》是一本深入解析LINUX和UNIX系统中shell编程的权威书籍,对于理解和掌握shell脚本编写具有极其重要的价值。本书涵盖了从基础概念到高级技巧,旨在帮助读者全面理解shell编程的核心原理...

    linux shell 学习

    - **Shell脚本学习指南.pdf**:可能深入探讨了Shell脚本编写的具体技巧和最佳实践。 - **Linux_shell.pdf、shell编程实例.pdf、Shell+编程.pdf**:更多的教程和实例,帮助深化对Shell编程的理解。 - **Unix+Shell+...

    嵌入式Linux 入门笔记Linux.pdf

    - **Shell脚本**:了解如何编写简单的Shell脚本来自动化任务。 **2. Minicom的使用** - **串口通信**:Minicom是一个用于串行通信的终端仿真器,适用于与开发板或其他串行设备进行通信。 - **配置设置**:学会如何...

    嵌入式 Linux入门笔记.rar_linux入门

    2. **Shell脚本编程**:学习编写简单的Shell脚本,以自动化执行日常任务,提高工作效率。 3. **网络配置与管理**:如何设置网络连接,使用SSH远程登录,以及网络服务的配置和管理。 4. **软件包管理**:了解如何...

    php笔记-欢迎增加

    本篇PHP笔记涵盖了从基础到进阶的知识点,适合初学者和有一定基础的开发者参考学习。主要内容包括简单的“Hello World”示例、网页内容抓取技巧、编码转换方法、缓存逻辑设计、数据解析方式、Ajax与PHP之间的交互、...

    javaEE学习笔记

    ### Java/JavaEE 学习笔记关键知识点概览 #### 1. Unix 学习笔记 - **Unix 前言** - Unix 是一种多用户、多任务的操作系统,广泛应用于...这些内容不仅适合初学者作为入门指南,也为进阶学习者提供了深入研究的方向。

    1456页Linux学习笔记(从入门到进阶).docx

    - **一键安装Apache**:通过编写Shell脚本来实现Apache Web服务器的一键安装。 - **批量创建账号**:用于快速批量创建用户账号的脚本。 - **磁盘利用率检查**:监测磁盘空间使用的脚本。 - **一键搭建CA**:自动...

    red hat linux 9讲义及学习笔记(基础)

    2. **编写脚本**: 创建简单shell脚本,实现自动化任务。 **八、故障排查** 1. **日志分析**: 通过日志找出系统问题。 2. **错误代码解析**: 学习理解系统返回的错误代码。 3. **系统诊断工具**: 使用dmesg、netstat...

    linux常用命令之bash入门指南.zip

    在Linux操作系统中,Bash(Bourne-Again SHell)是默认的命令行解释器,也是用户与系统交互的主要...通过阅读“linux常用命令之bash入门指南.doc”文档,你可以系统地了解和学习这些知识,逐步成长为Linux操作的高手。

    Unix&Linux.rar_CSHELL_batch_gcc_lec-RTOS_RTlinux_societyf6x

    这些文档提供了学习Unix/Linux、Shell脚本、批处理编程、编译器使用和实时操作系统的宝贵资源,对于希望提升系统管理和软件开发技能的人来说,是一份宝贵的参考资料。通过深入学习和实践,可以掌握这些关键技能,...

    Advanced Bash-Scripting Guide 英文原版

    《高级Bash脚本指南》英文原版是一本深入探讨Shell脚本艺术的专业书籍,由Mendel Cooper撰写。这本书致力于帮助读者掌握Bash shell编程的高级技巧和实践方法。以下是书中部分内容的详细解释: 在书的前言部分,作者...

    Linux笔记.docx

    ### Linux基础知识精讲 ...以上涵盖了Linux基础操作中的核心命令和概念,对于初学者来说是非常实用的入门指南。这些命令可以帮助用户高效地管理文件系统、网络连接、软件包以及用户账户等各个方面。

    很好的数据库学习手册以及Unix学习丛书

    "Prentice.Hall-Unix.Shells.By.Example,4th.Edition.chm"是一个关于Unix shell编程的教程,涵盖了Bash、Ksh和C shell等多个shell的用法,帮助读者理解和掌握Unix环境下的脚本编写,从而更高效地管理操作系统和自动...

    shell.zip_Linux/Unix编程_Shell__Linux/Unix编程_Shell_

    首先,"Shell脚本学习指南笔记.doc"可能是对基本Shell脚本语法的详细解释,包括变量声明、函数定义、流程控制结构等。学习Shell编程时,理解这些基础知识至关重要。例如,变量的声明不需要类型声明,直接赋值即可;...

    linux学习笔记

    - **实用部分**:涉及samba服务、网络配置、cron定时任务、JDK安装、Apache服务器配置、Linux下JAVA网络编程、SHELL脚本初步。 #### 五、Linux实战重点 - **初步了解**:Linux简介、首次操作体验。 - **用户管理**...

    spark 2 笔记

    ### Spark 2 笔记详解 #### 一、Spark 概念 Spark 是一款用于大规模数据处理的统一计算框架,其核心设计目的是实现高效的数据处理能力。Spark 的关键特性包括高性能计算、易于使用的API以及丰富的生态系统。在较高...

    Python入门课程笔记及实用总结(icourse163)

    ### Python入门课程笔记及实用总结 #### 一、PythonIcourse163 ##### week0 内容导学 - **课程目标**:通过为期九周的学习,掌握Python的基础语法和七个常用的设计模块,并完成十六个实践案例。 - **学习时间**:...

    linux学习笔记(初学者可共勉)

    通过编写shell脚本,你可以自动化日常任务,提高效率。学习bash shell,你需要了解变量、条件语句、循环结构、函数以及如何调用其他命令。比如,`if`和`fi`用于条件判断,`for`和`done`用于循环,`echo`用于打印字符...

    嵌入式linux入门到精通

    本资源"嵌入式Linux入门到精通"是一个全面的学习指南,旨在帮助初学者理解并掌握这一领域的核心概念和技术。 一、Linux基础知识 1. Linux操作系统:Linux是一种自由开源的操作系统,基于Unix,由全球各地的开发者...

Global site tag (gtag.js) - Google Analytics