一 环境变量
#单引号和双引号的共同作用是当字符串中,存在空格等字符的时候,可以加到环境变量中来
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
分享到:
相关推荐
Linux Shell脚本基础是Linux系统管理员和开发者必备的技能之一,它允许用户通过编写脚本来自动化日常任务。本文将深入探讨Shell脚本的基础知识,包括基本语法、变量、控制结构、函数以及常用的内置命令。 首先,...
Linux Shell脚本基础是Linux系统管理中的重要技能,它允许用户通过编写命令脚本来自动化日常任务,提高工作效率。本文将详细讲解Linux Shell脚本的基本概念和语法,包括开头、注释、变量和环境变量。 首先,让我们...
### Linux Shell脚本基础知识点详解 #### 一、Linux脚本编写基础 ##### 1.1 语法基本介绍 在Linux环境下,shell脚本是一种强大的工具,用于自动化各种任务和管理工作流程。掌握shell脚本的基础知识对于任何Linux...
以下是对Linux Shell脚本基础编程的详解: 1. **Shell脚本的固定格式**: 每个Shell脚本通常以`#!/bin/bash`作为开头,指定使用哪个Shell解释器来执行脚本。`用于创建多行注释,你可以选择任意关键字(比如`EOF`)...
Linux Shell脚本基础学习是掌握Linux系统管理与自动化任务的关键技能之一。在这篇文章中,我们将逐步探讨Shell脚本的基础知识,帮助初学者建立坚实的编程基础。 首先,让我们从Shell脚本的开头开始。每个Shell脚本...
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
Linux shell脚本基础知识 在Linux系统中,shell脚本是一种非常重要的工具,能够自动完成特定的任务,提高工作效率。本文将详细介绍shell脚本的基础知识,包括shell脚本的定义、组成、种类、特点、变量、权限、执行...
Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...
Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux Shell...Linux Shell脚本编程实例是Linux Shell脚本编程的基础,涵盖了 Linux Shell脚本编程的所有方面,包括变量、控制结构、函数、环境变量等等。
Linux shell脚本编写基础 Linux系统作为自由软件领域的代表,一直深受众多程序员和系统管理员的青睐。而在Linux环境中,shell脚本编写则是系统管理、自动化运维和开发工作中的一项基本技能。Shell脚本不仅能将复杂...
Shell脚本的基础在于Bash(Bourne-Again SHell),它是Linux系统中最常用的Shell。Bash提供了许多内置命令、控制结构和变量,使得编写脚本变得简单而强大。例如,你可以使用`echo`命令打印文本,`if`语句进行条件...
**Shell脚本基础** 1. **Shell介绍**:Shell是Linux的命令解释器,它提供了一个与操作系统交互的界面。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh和Zsh等,其中Bash是默认且最常用的Shell。 2. **基本语法...
### Linux Shell脚本基础学习详解 #### 一、引言 在现代的IT环境中,Linux作为最流行的开源操作系统之一,其强大的灵活性和稳定性受到了广泛的认可。对于Linux用户来说,掌握Shell脚本编程是一项非常重要的技能。...
Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...
Linux Shell脚本攻略是一本针对Linux操作系统下Shell脚本编写的指导书籍。Shell脚本是利用Shell编程语言来控制和自动化命令序列的脚本,常用于系统管理、服务器管理、自动化任务处理等领域。本书的第三版包含了全面...
用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的...
### Linux Shell脚本基础学习详解 #### 一、引言 Linux Shell脚本是一种用于自动化任务的强大工具。通过编写简单的脚本,用户可以执行复杂的任务序列,管理文件系统,处理文本,甚至控制整个系统的配置。本文旨在...