`
85977328
  • 浏览: 1903789 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux shell脚本基础

阅读更多
一 环境变量
#单引号和双引号的共同作用是当字符串中,存在空格等字符的时候,可以加到环境变量中来
1)单引号:禁用 变量(和历史)扩展
2)双引号:内部引用了其他环境变量,所以一般为了让带空格的变量是一个整体,我们会使用
echo "$my"
这种方式打印环境变量

设置环境变量,
export myname='piao hailin!'

#打印
echo ${myname} # 推荐,更精确
echo $myname

#卸载
unset myname


二 截断字符串
basename 参数 #找到结束的文件或目录
dirname 参数 #与basename相反,得到他"前面"的部分


三 命令替换
创建一个包含可执行命令结果的环境变量
使用命令替换可以将任何命令或命令管道放在 ` ` 或 $( ) 之间


四 字符穿截取
export mystring='foaafoddfobbfoccfoddfoee.tar.gz'
# 从最后一个fo开始截取
echo ${mystring##*fo}
ee.tar.gz
# 从第一个fo开始截取
echo ${mystring#*fo}
aafoddfobbfoccfoddfoee.tar.gz

# 从后往前,第一个匹配的
echo ${mystring%.*}
foaafoddfobbfoccfoddfoee.tar
# 从后往前,最后一个匹配
echo ${mystring%%.*}
foaafoddfobbfoccfoddfoee

# 按照索引截取
echo ${mystring:0:1}
f


五 接收自变量
第0个表示命令名称
$# 表示变量的个数
$@ 一次引用所有命令行自变量
例:
$0
$1
...
$15
$#

六 shell算术
使用 shell 结构来执行简单的整数运算。只需将特定的算术表达式用 "$((" 和 "))" 括起.
$ echo $(( 100 / 3 ))
33
$ myvar="56"
$ echo $(( $myvar + 12 ))
68
$ echo $(( $myvar - $myvar ))
0 $ myvar=$(( $myvar + 1 ))
$ echo $myvar
57

七 函数
可以将函数(如上面的函数)
放在 ~/.bashrc 或
~/.bash_profile 中,
以便在 bash 中随时使用它们。
.bash_profile修改后要重启

八 名称空间
变量前加local关键字
这样在方法外部,变量就会失效
否则默认的变量是全局的

九 相关操作
运算符  描述  示例 
文件比较运算符 
-e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]
-d filename  如果 filename为目录,则为真  [ -d /tmp/mydir ]
-f filename  如果 filename为常规文件,则为真  [ -f /usr/bin/grep ]
-L filename  如果 filename为符号链接,则为真  [ -L /usr/bin/grep ]
-r filename  如果 filename可读,则为真  [ -r /var/log/syslog ]
-w filename  如果 filename可写,则为真  [ -w /var/mytmp.txt ]
-x filename  如果 filename可执行,则为真  [ -L /usr/bin/grep ]
filename1-nt filename2  如果 filename1比 filename2新,则为真  [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2  如果 filename1比 filename2旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法) 
-z string  如果 string长度为零,则为真  [ -z "$myvar" ]
-n string  如果 string长度非零,则为真  [ -n "$myvar" ]
string1= string2  如果 string1与 string2相同,则为真  [ "$myvar" = "one two three" ]
string1!= string2  如果 string1与 string2不同,则为真  [ "$myvar" != "one two three" ]
算术比较运算符 
num1-eq num2  等于 [ 3 -eq $mynum ]
num1-ne num2  不等于 [ 3 -ne $mynum ]
num1-lt num2  小于 [ 3 -lt $mynum ]
num1-le num2  小于或等于 [ 3 -le $mynum ]
num1-gt num2  大于 [ 3 -gt $mynum ]
num1-ge num2  大于或等于 [ 3 -ge $mynum ]

#!/usr/bin/env bash
# source命令从文件中读入 bash 语句,然后执行它们
source config.properties
export myname='this my first linux shell!'
export i='100'

echo $title

java -version

echo ${JAVA_HOME}

helloshell(){
	# 局部变量
	local version="1.0"
	# 全局变量
	name="phl"
	echo "hello shell!"
}

helloshell 

echo $version
echo $name

echo ${myname}


# 这个语句的格式很严谨 if空格[空格a空格=空格b空格]
if [ "$1" = "h" ]
then
	echo this is piao hailin.
	echo the first parameter is $1
	echo $((1000/3))
	echo "这是一个特殊的参数,第0号索引:$0"
	echo '参数的个数是:'$#
	#m是循环控制变量
	for m in $@
	do
		echo  "$m"
	done
elif [ "$2" = "p" ]
then
	echo 'exit the shell.'
	exit
else
	echo this is not piao.
fi

echo 'while'
myvar=0
while [ $myvar -ne 3 ]
do
	echo $myvar
	myvar=$(( $myvar + 1 ))
done

echo 'until'
myvar=0
until [ $myvar -eq 3 ]
do
	echo $myvar
	myvar=$(( $myvar + 1 ))
done
 
case "${1}" in
	gz)
		echo 'this is a gz.'
		;;
	tar)
		echo 'this is a tar.'
		;;
	*)
		echo "this is an other."
		exit
		;;
esac      
1
0
分享到:
评论

相关推荐

    Linux Shell 脚本基础

    Linux Shell脚本基础是Linux系统管理员和开发者必备的技能之一,它允许用户通过编写脚本来自动化日常任务。本文将深入探讨Shell脚本的基础知识,包括基本语法、变量、控制结构、函数以及常用的内置命令。 首先,...

    linux shell 脚本基础

    Linux Shell脚本基础是Linux系统管理中的重要技能,它允许用户通过编写命令脚本来自动化日常任务,提高工作效率。本文将详细讲解Linux Shell脚本的基本概念和语法,包括开头、注释、变量和环境变量。 首先,让我们...

    linux shell脚本基础学习

    ### Linux Shell脚本基础知识点详解 #### 一、Linux脚本编写基础 ##### 1.1 语法基本介绍 在Linux环境下,shell脚本是一种强大的工具,用于自动化各种任务和管理工作流程。掌握shell脚本的基础知识对于任何Linux...

    linux shell脚本 基础编程讲解

    以下是对Linux Shell脚本基础编程的详解: 1. **Shell脚本的固定格式**: 每个Shell脚本通常以`#!/bin/bash`作为开头,指定使用哪个Shell解释器来执行脚本。`用于创建多行注释,你可以选择任意关键字(比如`EOF`)...

    详细介绍Linux shell脚本基础学习

    Linux Shell脚本基础学习是掌握Linux系统管理与自动化任务的关键技能之一。在这篇文章中,我们将逐步探讨Shell脚本的基础知识,帮助初学者建立坚实的编程基础。 首先,让我们从Shell脚本的开头开始。每个Shell脚本...

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    16.linux8.0-shell脚本.pdf

    Linux shell脚本基础知识 在Linux系统中,shell脚本是一种非常重要的工具,能够自动完成特定的任务,提高工作效率。本文将详细介绍shell脚本的基础知识,包括shell脚本的定义、组成、种类、特点、变量、权限、执行...

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    LinuxShell脚本编程实例

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux Shell...Linux Shell脚本编程实例是Linux Shell脚本编程的基础,涵盖了 Linux Shell脚本编程的所有方面,包括变量、控制结构、函数、环境变量等等。

    Linux shell脚本编写基础

    Linux shell脚本编写基础 Linux系统作为自由软件领域的代表,一直深受众多程序员和系统管理员的青睐。而在Linux环境中,shell脚本编写则是系统管理、自动化运维和开发工作中的一项基本技能。Shell脚本不仅能将复杂...

    Linux shell 脚本攻略源代码第二版

    Shell脚本的基础在于Bash(Bourne-Again SHell),它是Linux系统中最常用的Shell。Bash提供了许多内置命令、控制结构和变量,使得编写脚本变得简单而强大。例如,你可以使用`echo`命令打印文本,`if`语句进行条件...

    Linux shell 脚本攻略

    **Shell脚本基础** 1. **Shell介绍**:Shell是Linux的命令解释器,它提供了一个与操作系统交互的界面。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh和Zsh等,其中Bash是默认且最常用的Shell。 2. **基本语法...

    详细介绍Linux-shell脚本基础学习

    ### Linux Shell脚本基础学习详解 #### 一、引言 在现代的IT环境中,Linux作为最流行的开源操作系统之一,其强大的灵活性和稳定性受到了广泛的认可。对于Linux用户来说,掌握Shell脚本编程是一项非常重要的技能。...

    LinuxShell脚本编程实例.doc

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...

    LINUX SHELL 脚本攻略

    Linux Shell脚本攻略是一本针对Linux操作系统下Shell脚本编写的指导书籍。Shell脚本是利用Shell编程语言来控制和自动化命令序列的脚本,常用于系统管理、服务器管理、自动化任务处理等领域。本书的第三版包含了全面...

    Linux Shell 脚本编程入门教程

    用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的...

    Linux shell脚本基础学习详细介绍(完整版)第1/2页

    ### Linux Shell脚本基础学习详解 #### 一、引言 Linux Shell脚本是一种用于自动化任务的强大工具。通过编写简单的脚本,用户可以执行复杂的任务序列,管理文件系统,处理文本,甚至控制整个系统的配置。本文旨在...

Global site tag (gtag.js) - Google Analytics