[Shell]Shell语言基础练习

1、指定脚本解释器

#!/bin/sh

#!/bin/bash

#!/usr/bin/env bash

2、Hello World!

#!/usr/bin/env bash
echo "Hello, world!"

3、执行shell脚本的5种方式,其中后两种,需要先使脚本有执行权限

sh /path/to/script.sh

bash /path/to/script.sh

source /path/to/script.sh



chmod +x /path/to/script.sh #使脚本具有执行权限

./script.sh

/path/to/test.sh

4、单行注释和多行注释

# echo "这是单行注释"

:<<EOF
echo "这是多行注释1"
echo "这是多行注释2"
echo "这是多行注释3"
EOF

5、echo命令

# 输出普通字符串
echo "hello, world"

# 输出含转义符的字符串
echo "hello, \"zp\""

# 输出含变量的字符串
name=zp
echo "hello, \"${name}\""

# 输出含换行符的字符串
echo "YES\nNO"
echo -e "YES\nNO"

# 输出含不换行符的字符串
echo "YES\c"
echo "NO"

echo -e "YES\c"
echo "NO"

# 输出重定向至文件
echo "test" > test.txt

# 输出执行结果
echo `pwd`

6、变量

# 普通变量
word="hello"
echo ${word}

# 只读变量
rword="hello"
echo ${rword}
readonly rword

# 删除变量
dword="hello"
echo ${dword}
unset dword
echo ${dword}

7、环境变量

echo $HOME

echo $PATH

echo $PWD

echo $RANDOM

echo $UID

echo $PS1

echo $PS2

8、字符串

name1='white'
str1='hello, '${name1}''
str2='hello, ${name1}'
echo ${str1}_${str2}

name2='black'
str3="hello, "${name2}""
str4="hello, ${name2}"
echo ${str3}_${str4}

text="12345"
echo ${#text}

text="12345"
echo ${text:2:2}

9、数组(整型)

nums=([0]=10 [1]=11 [2]=12)

echo ${nums[0]}

echo ${nums[1]}

echo ${nums[2]}

echo ${nums[*]}

echo ${nums[@]}

echo ${nums[@]:0:2}

echo ${#nums[*]}

nums=(1 2 3 "${nums[@]}" 4 5)

echo ${nums[*]}

unset nums[3]

echo ${nums[*]}

10、数组(字符)

colors=(red yellow "dary blue")

echo ${colors[0]}

echo ${colors[1]}

echo ${colors[2]}

echo ${colors[*]}

echo ${colors[@]}

echo ${colors[@]:0:2}

echo ${#colors[*]}

colors=(aaa bbb ccc "${colors[@]}" ddd eee)

echo ${colors[*]}

unset colors[2]

echo ${colors[*]}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值