阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Shell基本命令学习

31次阅读
没有评论

共计 1639 个字符,预计需要花费 5 分钟才能阅读完成。

导读 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
1: 编写 shell 脚本
vi test.sh
#!/bin/bash #指定这个脚本需要什么解释器来执行
echo "Hello World !" # echo 命令用于向窗口输出文本 
2: 执行 shell 脚本
cd 入文件存在的目录
chmod +x ./test.sh #使脚本具有执行的权限
./test.sh #执行脚本 
3:Shell 变量的理解
 例子: your_name="wangzhi.cn"
注意: 变量名和等号之间不能有空格
规则:
(1). 首字母必须为字母 (a-z,A-Z)
(2). 中间不能有空格, 可以使用 (_)
(3). 不能使用标点符号
(4). 不能使用 bash 中的关键字 (可以使用 help 命令查看保留关键字)
例子:for file in `ls /etc` 这个语句可以将 /etc 下目录的文件名循环出来 
4: 变量的使用
 定义变量:your_name = "wangzhi"
使用变量:echo ${your_name} # 建议输出变量加上 {}, 养成好的编程习惯.
5:Shell 字符串 (注意注意: 下标是从 0 开始计算的)
 单引号:
str = 'This is a string' ( 限制:
单引号中的任何字符都会原样输出, 单引号中无法输出变量;
单引号中不能出现单引号 )

双引号:
str = "Hello, I know your are \"${your_name}\"!\n"
(双引号内可以有变量; 双引号内可以有转义字符)

字符串拼接:
your_name="qinjx"
greeting="hello,"$your_name"!"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1

获取字符串长度:
string="abcd"
echo ${#string} #输出 4

提取字符串
string="alibaba is a great company"
echo ${string:1:4} #输出 liba, 字符串的下标是从 0 开始的

查找子字符串 (下标从 1 开始计算)
string="alibaba is a great company"
echo `expr index "$string" is`

#!/bin/bash
your_name="wangzhi"
echo ${your_name}
str='This is a String'
echo "单引号字符串 :${str}" # 拼接都可以这样写, 下面的写法是被误导的
str2="Hello, I know you are \"${your_name}\"!\n"
echo "双引号字符串 : \" ${str2}\"\n"
greet="Hello, ${your_name} !"
echo "字符串拼接 : \" ${greet}\"\n"
echo "获取字符串长度 : \"${#greet}\"\n" # 0~length-1, 与 java 中相同
echo "提取字符串 : \"${greet:1:4}\"\n" # 下标从 0 开始, 从 1 开始计算 4 个
echo "查找子字符串 : \n"
echo `expr index "${greet} hello"` # 下标是从 1 开始计算的 
6:Shell 数组 (可以存放各种数据类型, 下标从 0 开始)
 定义:${数组名 [ 下标]} 例如: valuen = ${array_name[n]}
使用 @符号可以获取数组中的所有元素, 例如:echo ${array_name[@]}

获取数组长度:
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
7: 注释

只有单行注释 —-(使用 # 进行注释)

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1639字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中