命令二:Shell常用命令

本文详细介绍了Shell脚本的基本命令,包括echo、printf、变量、字符串、数组、运算符、重定向等,并给出了多个示例。Shell脚本通过组合Linux命令实现复杂操作,方便重复执行。文章还提到了Shell脚本的运行方式、文件包含以及如何通过重定向处理输入输出。
摘要由CSDN通过智能技术生成

目录

 

Linux命令和shell脚本的区别联系

Shell简介

Shell脚本基本命令含义和举例

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

输出命令 printf

运行 Shell 脚本有两种方法:

Shell 变量

Shell 字符串

Shell 数组

Shell 注释

Shell 基本运算符

算术运算符

关系运算符

布尔运算符

逻辑运算符

字符串运算符

文件测试运算符

Shell 传递参数

test 命令

Shell 输入/输出重定向

重定向深入讲解

Here Document特殊的重定向

/dev/null 文件

Shell 文件包含

参考


Linux命令和shell脚本的区别联系

linux命令行只是单一的操作,shell是面向过程的、能够通过一系列的linux命令结合起来实现较为复杂的、操作linux系统的功能。

所以命令行就需要一个一个的输入命令但是shell脚本可以将命令集成到一个脚本文件中执行,如果要重复重复执行一些命令这种shell脚本的方式就更加便捷。

Shell简介

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。
Shell 既是一种命令语言,又是一种程序设计语言。

Shell脚本基本命令含义和举例

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

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出
#!/bin/bash
echo "Hello World !"

显示结果定向至文件
echo "It is a test" > myfile

输出命令 printf

printf不会像echo自动添加换行符,可以手动添加 \n
$ echo "Hello, Shell"
Hello, Shell
$ printf "Hello, Shell\n"
Hello, Shell
$

#!/bin/bash
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg  
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
执行脚本,输出结果如下所示:
姓名     性别   体重kg
郭靖     男      66.12
杨过     男      48.65
郭芙     女      47.99
%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。
%-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
%-4.2f 指格式化为小数,其中 .2 指保留2位小数。

运行 Shell 脚本有两种方法:

1、作为可执行程序,将上面的代码保存为 test.sh,并 cd 到相应目录:
chmod +x ./test.sh  #使脚本具有执行权限, ./test.sh 告诉系统说,就在当前目录找
./test.sh  #执行脚本
2、作为解释器参数,直接运行解释器,其参数就是 shell 脚本的文件名,如:
/bin/sh test.sh
/bin/php test.php

Shell 变量

your_name="runoob.com"
使用变量只要在变量名前面加美元符号即可,如:
your_name="qinjx"
echo ${your_name}
只读变量使用
readonly myUrl
删除变量使用 unset 命令可以删除变量

Shell 字符串

unset variable_name
获取字符串长度
string="abcd"
echo ${#string} #输出 4
提取子字符串,以下实例从字符串第 2 个字符开始截取 4 个字符:
string="runoob is a great site"
echo ${string:1:4} # 输出 unoo

Shell 数组

array_name=(value0 value1 value2 value3)
读取数组元素值的一般格式是:
${数组名[下标]}
valuen=${array_name[n]} 使用 @ 符号可以获取数组中的所有元素,例如:echo ${array_name[@]}
获取数组长度的方法与获取字符串长度的方法相同:
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}

Shell 注释

用#

Shell 基本运算符

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 ` 而不是单引号 ',这个字符在 Esc 键下边):
#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"


算术运算符

实例
#!/bin/bash
a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"
val=`expr $a - $b`
ec

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值