`
ynw520
  • 浏览: 29130 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

shell学习

阅读更多
字符的处理:
1. 计算字符串长度
echo “$str”|awk ‘{print length($0)}’
expr length “$str”
echo “$str”|wc -c

2. 判断字符串是否为空
if [ "$str" = "" ]
if [ x"$str" = x ]
if [ -z "$str" ]

3
${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt
${file#*.}:拿掉第一個 .  及其左邊的字串:file.txt
${file##*.}:拿掉最後一個 .  及其左邊的字串:txt
${file%/*}:拿掉最後條 / 及其右邊的字串:/dir1/dir2/dir3
${file%%/*}:拿掉第一條 / 及其右邊的字串:(空值)
${file%.*}:拿掉最後一個 .  及其右邊的字串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一個 .  及其右邊的字串:/dir1/dir2/dir3/my
記憶的方法為:

# 是去掉左邊(在鑑盤上 # 在 $ 之左邊)
% 是去掉右邊(在鑑盤上 % 在 $ 之右邊)
單一符號是最小匹配﹔兩個符號是最大匹配

正则表达式式:
http://hi.baidu.com/nxswxxg/blog/item/b96fddd1907856db562c8423.html


#!/bin/bash
#liaolj 测试

#n=1
#: $((n++))
#echo $n

# 区别按位反与按位非的区别
#n=1
#let n=$((~n))
#echo "按位反:"$n    #-2
#let n=$((!n))
#echo "按位非:"$n    #0

# 进制
# 其他进制: BASE#NUMBER BASE(2-64之间)
#let n="32#77"
#echo $n       #231

#let "b64 = 4#@_"
#echo $b64

#求字符串长度
#liaolj=ynwuupl
#echo ${#liaolj}
#echo `expr length $liaolj`
#echo `expr "$liaolj" : '.*'`

#匹配字符串开头的子串长度
#expr match "$string" '$substring' substring是一个正则表达式
#expr "$string" : '$substring' 单引号和双引号是一样的
#liaolj=ynwuupl
#echo `expr match "$liaolj"  ".*"`
#echo `expr "$liaolj" : '.*'`

#索引
#expr index $string $substring
#在字符串$string中所匹配到的$substring第一次出现的位置
#liaolj=ynwuupl
#echo `expr index "$liaolj" uu`
#echo `expr index $liaolj uu`   #没有引号也是可以的

#提取子串
#${string:position}
#在string中从位置$position开始提取子串
#如果string是"*"或者"@",那么将会提取从位置position开始的位置参数
#${string:position:length}
#在string中从位置position开始提取length长度的子串
#liaolj=ynwuupl
#echo ${liaolj:3}        #uupl
#echo ${liaolj:3:2}      #uu
#echo ${liaolj:-3}       #ynwuupl
#echo ${liaolj: -3}      #upl
#echo ${liaolj:(-3)}     #upl
#echo ${*:0}              #显示第0个参数后面的所有参数
#
#expr substr $string $position $length
#liaolj=ynwuupl
#expr substr $liaolj 3 5    #length参数必须有
#
#expr match "$string" '\($substring\)'
#expr "$string" : '\($substring\)'
#liaolj=ynwuupl
#expr match $liaolj '\(...[uU].\)' #ynwuu
#
#expr match "$string" '.*\($substring\)'
#expr "$string" : '.*\($substring\)'
#从string的结尾提取substring,substring是正则表达式

#子串削除
#${string#substring}
#从string的开头位置截掉最短匹配的substring
#${string##substring}
#从string的开头位置截掉最长匹配的substring
#liaolj=abcABC123ABCabc
#echo ${liaolj#a*C}   #123ABCabc
#echo ${liaolj##a*C}  #abc
#
#${string%substring}
#从string的结尾位置截掉最短匹配的substring
#${string%%substring}
#从string的结尾位置截掉最长匹配的substring
#liaolj=abcABC123ABCabc
#echo ${liaolj%b*c}   #abcABC123ABCa
#echo ${liaolj%%b*c}  #a

#子串替换
#{string/substring/replacement}
#使用replacement来替换第一个匹配的substring
#{string//substring/replacement}
#使用replacement来替换所有匹配的substring
#liaolj=ynwuupl
#echo ${liaolj/u/p}  #ynwupupl
#echo ${liaolj//u/p} #ynwupppl
#
#${string/#substring/replacement}
#如果substring匹配string的开头号部分,那么就用replacement来替换substring的开头部分
#{string/%substring/replacement}
#如果substring匹配string的结尾部分,那么就用replacement来替换substring的结尾部分

#使用awk来处理字符串
#bash脚本也可以调用awk的字符串操作功能来代替它自已的内置功能


#参数替换
#${parameter}
#${parameter-default},${parameter:-default}
#echo ${1-liaolj}   #liaolj
#echo $1 #liaolj
#
#{parameter=default},${parameter:=default}
#如果变量parameter没声明,那么就用default的值
#echo ${username=`liaolj`}  #报错  ``其中放得是命令  
#echo ${1=`liaolj`}    #报错
#echo ${username=liaolj}   #liaolj
#echo ${a:=liaolj}
#${parameter+alt_value},${parameter:+alt_value}
#如果parameter被声明就用alt_value,否则就用null
#遝cho ${1+ynw}   #如果传参时为ynw,否则为nul
#
#${parameter?err_msg},${parameter:?err_msg}
#如果parameter已声就用原来的值,如果没有声明,打印错误信息
#echo ${1?error:你好懒!}
#: ${1?"Usage: $0 ARGUMENT"}

#进制之间转换
#echo 'obase=2; ibase=10; 255' | bc


#echo; echo "Hit a key, then hit return."
#read Keypress
#case "$Keypress" in
#[[:lower:]]   ) echo "Lowercase letter";;
#[[:upper:]]   ) echo "Uppercase letter";;
#[0-9]         ) echo "Digit";;
#* ) echo "Punctuation, whitespace, or other";;
#esac      #  允许字符串的范围出现在[中括


#a=`echo "HELLO" | tr A-Z a-z`
#echo $a

#a=`echo "ynwuupl" | tr -d u`
#echo $a

#echo -n "This string splits
# 17 on two lines."

baseName=app
today=`date +%y%m%d`
echo ${baseName}${today}.img
echo appp


grep命令:http://fanqiang.chinaunix.net/system/linux/2007-03-15/5110.shtml
分享到:
评论

相关推荐

    shell学习,第一章

    Shell学习第一章主要涵盖了Shell脚本语言的基础知识,包括Shell的介绍、基本语法、变量和字符串操作等内容。以下是对这些知识点的详细阐述: 1. **Shell介绍**:Shell是一种命令行解释器,它允许用户与操作系统进行...

    实用的shell学习资料

    **实用的Shell学习资料概述** Shell是Linux和Unix操作系统中的一种命令解释器,它作为用户与操作系统之间交互的界面,允许用户输入命令并执行。在众多的Shell中,Bash(Bourne Again SHell)是最流行的一个,广泛...

    shell学习资料01

    shell学习01

    shell学习方法

    ### Shell学习方法详解 #### 一、Shell简介 在计算机科学领域中,Shell是一种非常重要的交互式编程环境,被广泛应用于各种操作系统中,包括Linux、Unix等。Shell通常被称为“壳”,用来区别于操作系统的核心部分...

    linux shell学习资料

    在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...

    shell学习经典资料

    以下是对标题“shell学习经典资料”及相关文件的详细解析: 首先,我们看到标题提及了“shell学习”,这指的是对shell编程的学习。Shell编程是一种使用命令行界面编写脚本的技能,它允许用户通过编写简单的或复杂的...

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    本文整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用...

    linux脚本shell学习笔记

    shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识

    非常实用shell学习文档

    每个脚本命令都有很实用的例子,让人易于掌握,迅速上手实现shell脚本的开发。

    SHELL基础学习指导

    在Shell学习中,首先需要了解的是一些基础概念。例如,当用户登录到Linux系统时,系统会根据/etc/passwd文件中的信息来决定使用哪个Shell。用户可以在命令提示符下输入命令,由Shell进行解释和执行。例如,输入命令...

    shell学习笔记-2018-01-09

    ### Shell学习笔记 #### Shell的发展与分类 Shell作为Unix及类Unix系统(包括Linux)的主要用户界面之一,其历史可以追溯到20世纪70年代。最初,Shell仅仅作为一个简单的命令解释器,随着时间的推移,它发展成为了...

    Shell学习.docx

    【Shell学习】 Shell是Linux系统中至关重要的组成部分,它是一个用C语言编写的程序,作为用户与Linux操作系统之间的桥梁。Shell不仅是一个命令语言,允许用户输入指令执行操作,同时它也是一种程序设计语言,能够...

    Shell学习笔记总结

    Shell 学习笔记总结 本资源是 Shell 学习笔记的总结,涵盖了 Shell 的基本概念、类型、变量、进程、权限、管道、POSIX、grep、sed、awk 等命令和编程语言。 一、 Shell 的类型和特点 Shell 是一种命令行界面,...

    Linux Shell学习资料合集

    分别有以下这些内容的资料 Linux与unix shell编程指南 Bash参考手册 Expect中文教程 Expect简介和应用 Expect命令基本语法 高级Bash脚本编程指南 高级Shell脚本编程 Shell命令合集

    liunx shell学习指南

    Linux Shell学习指南是针对Linux操作系统中的命令行接口——Shell,进行深入学习的资源。Shell是用户与Linux内核交互的桥梁,它提供了命令行界面,允许用户通过输入指令执行各种任务。对于初学者来说,掌握Shell编程...

    shell学习(经过自己整理)

    shell学习(经过自己整理) shell编程简介: Shell编程是指使用shell脚本语言编写的程序,以实现自动化任务、批量处理、系统管理等功能。Shell编程语言是基于文本的命令行接口,用户可以通过编写脚本来实现特定的...

    shell学习脚本指南

    Shell学习脚本指南是一份非常实用的资源,尤其适合初学者深入理解并掌握Shell脚本编程。Shell,作为Linux和Unix系统中的命令解释器,是系统管理员和开发者的强大工具,能够实现自动化任务处理和系统管理。这份PDF...

Global site tag (gtag.js) - Google Analytics