Shell脚本常见使用

Shell脚本常见使用

echo 命令用于向窗口输出文本

定义变量 your_name=”rrr” 变量名和等号之间不能有空格

使用一个定义过的变量,要在变量名前面加美元符号 如 echo ${your_name} 加花括号是为了帮助解释器识别变量的边界

删除变量 unset variable_name

字符串:

双引号的优点:双引号里可以有变量 双引号里可以出现转义字符 例如:

your_name='qinjx'
str="Hello, I know you are \"$your_name\"! \n"

截取: # 号截取,删除左边字符,保留右边字符。%号截取,删除右边字符,保留左边字符

echo ${var%/*}

定义数组:

数组名=(值1 值2 … 值n) 用括号来表示数组,数组元素用”空格”符号分割开。例如:

array_name=(value0 value1 value2 value3)
array_name[0]=value0

遍历数组 使用@符号可以获取数组中的所有元素,例如:

echo ${array_name[@]}

获取数组长度, 加#

length=${#array_name[@]}

注释:

可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。

传递参数:

$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数, $0 为执行的文件名,$#	传递到脚本的参数个数  $* 所有参数,合成一个参数列印 $@ 所有参数,合成多个参数列印 
例如:
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
$ ./test.sh 1 2 3

基本运算符:

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如expr

#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"

布尔运算符: ! 非; -o 或; -a 与;

逻辑运算符 && AND || OR

字符串运算符:

运算符 说明 举例
= 检测两个字符串是否相等,相等返回 true。 [ a = b ] 返回 false。
!= 检测两个字符串是否相等,不相等返回 true。 [ a != b ] 返回 true。
-z 检测字符串长度是否为0,为0返回 true。 [ -z a]falsen00true[n a ] 返 回 f a l s e 。 − n 检 测 字 符 串 长 度 是 否 为 0 , 不 为 0 返 回 t r u e 。 [ − n “ a” ] 返回 true。
str 检测字符串是否为空,不为空返回 true。 [ $a ] 返回 true。

注意:比较两个数字的时候使用 ==

显示

-e 为开启转义

\n  换行    \c 不换行
如:   echo -e "OK! \n"
      echo "It it a test"

显示结果定向至文件

echo "It is a test" > myfile

输出字符串,不进行转义或取变量(用单引号)

echo '$name\"'
结果  $name\"

显示命令执行结果, 如显示日期

echo `date`
注意: 这里使用的是反引号 `, 而不是单引号 '。

流程控制:

注意:sh的流程控制不可为空,即不可以什么都不写空着。

if

if condition
then
    command1 
    command2
    ...
    commandN 
fi
写成一行则是:
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

末尾的fi就是if倒过来拼写

if else

if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi

if else-if else

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi
例如:
a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

if else语句经常与test命令结合使用

num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
    echo '两个数字相等!'
else
    echo '两个数字不相等!'
fi

for 循环

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done
写成一行:
for var in item1 item2 ... itemN; do command1; command2… done;

while 语句

#!/bin/sh
int=1
while(( $int<=5 ))
do
    echo $int
    let "int++"
done

使用中使用了 Bash let 命令,它用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量

函数

demoFun(){
    echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun
echo "-----函数执行完毕-----"

结果

-----函数开始执行-----
这是我的第一个 shell 函数!
-----函数执行完毕-----

本文部分参考菜鸟联盟 http://www.runoob.com/linux/linux-shell-basic-operators.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Shell 脚本是一种在终端中执行的脚本程序,可以用来完成许多自动化任务,例如文件操作、系统管理、软件编译等。 要使用 shell 脚本,首先需要打开终端,并创建一个新的文本文件,用于编写脚本代码。一般来说,脚本文件的文件名以 .sh 结尾,例如 test.sh。 在编写脚本时,需要使用 shell 命令来完成具体的操作,例如创建目录、复制文件、打印输出等。常用的 shell 命令包括 cd、ls、mkdir、cp、rm、echo 等。 编写完成后,需要给脚本文件添加可执行权限,才能在终端中执行。可以使用 chmod 命令来修改文件的权限,例如 chmod +x test.sh。 最后,在终端中输入脚本文件的路径和文件名,即可执行脚本。例如,如果脚本文件在当前目录下,可以输入 ./test.sh 来执行脚本。 需要注意的是,shell 脚本的具体使用方法和细节可能因不同的操作系统和 shell 版本而有所不同,需要根据实际情况进行调整。 ### 回答2: Shell脚本是一种用于编写命令行的脚本语言,可以在Unix、Linux等操作系统中使用。下面是几个使用Shell脚本常见方法。 1. 创建Shell脚本文件:首先需要创建一个新的文本文件,并将其命名为希望的脚本名称,通常以.sh为扩展名。例如,可以使用文本编辑器创建一个名为script.sh的文件。 2. 在脚本文件中添加命令:在脚本文件中,使用Shell脚本语法编写所需的命令和逻辑。例如,可以使用echo命令打印一条消息,使用变量存储值,并使用条件和循环语句控制程序流程。 3. 设定执行权限:在运行Shell脚本之前,需要为其添加执行权限。可以使用chmod命令来设定脚本文件的权限,例如,使用chmod +x script.sh命令为script.sh文件添加执行权限。 4. 运行Shell脚本:运行Shell脚本可以通过两种方式。一种是在命令行中直接输入脚本文件的路径和名称,例如,./script.sh。另一种是在脚本文件中添加shebang(#!/bin/bash)作为文件的第一行,然后将脚本文件作为可执行程序运行。 5. 调试和修改:运行脚本时可能会出现错误,可以使用shell调试器(如bash -x script.sh)来逐行执行脚本并查看输出,以找出问题所在。根据需要,可以对脚本进行修改并重新运行。 总的来说,Shell脚本可用于自动化任务、批处理、系统管理和编写小型脚本等。通过编写Shell脚本,可以大大提高工作效率,并简化复杂任务的执行过程。 ### 回答3: Shell脚本是一种用来编写自动化任务的脚本语言,它运行在Unix/Linux操作系统上的命令行界面中。下面将简单介绍如何使用Shell脚本。 首先,打开一个文本编辑器,创建一个新文件,以.sh作为文件扩展名。然后在文件的开头,使用以下语句指定Shell类型: #!/bin/bash 这告诉操作系统在运行此脚本使用Bash Shell。 接下来,你可以编写一系列Shell命令,用于自动化你的任务。比如,你可以使用命令行工具来创建目录、复制文件、下载文件、运行其他程序等等。 在编辑完Shell脚本后,你需要为该文件赋予可执行权限。使用chmod命令来实现: chmod +x your_script.sh 现在,你可以在命令行中运行该脚本: ./your_script.sh 注意,脚本文件必须在运行之前具有可执行权限,否则会报权限错误。 Shell脚本还可以接受命令行参数。在脚本中,你可以使用特殊变量如$1、$2等来获取传递给脚本的参数。比如,你可以通过以下方式在命令行中传递一个参数给脚本: ./your_script.sh parameter 接下来,在脚本中,你可以使用特殊变量$1来获取该参数的值。比如,你可以使用echo命令来打印参数: echo "传递的参数是:$1" 以上是一个简单的Shell脚本的基本使用方法。你可以通过编写更复杂的脚本来实现更加复杂和强大的自动化任务。 Shell脚本是Unix/Linux系统中非常有用的工具,它可以帮助你节省时间和精力,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值