美文网首页Shell
Shell 的基本使用

Shell 的基本使用

作者: Air_cc | 来源:发表于2016-04-17 02:36 被阅读44次

这里使用的是Bash

概要语法

#!/bin/bash

# 变量定义
temp="hello-world"

# 使用变量 -- 只能在双引号中嵌入变量
echo "hello -${temp}- world"

# 截取字符串
echo ${temp:0:2}

#字符串长度
echo ${#temp}

# 数组
arr=(1, 12, "a")
echo ${arr[0]}, ${arr[@]}, ${#arr[@]}

# 参数
echo "参数的个数: $#"
echo "所有参数: $@"
echo "第一个参数: $1"
echo "当前程序运行进程: $$"
echo "后台退出时的状态: $?"

# 运算符

# 算数符
# 原生的bash不支持算数,使用expr来实现
# 使用``包裹
# 表达式和运算符之间要有空格
val=`expr 1 + 2`
val_1=`expr ${val} % 2`


echo "1 + 2 = ${val}", ${val_1}
echo "1 * 2 = `expr 1 \* 2`"
echo "1 / 2 = `expr 1 / 2`"


if [ ${val} == ${val_1} ]
then
   echo "a 等于 b"
fi

if [ ${val} != ${val_1} ]
then
   echo "a 不等于 b"
fi

# 关系运算符
# -eq -ne -gt -lt -ge -le
if [ $val -eq $val_1 ]
then
  echo "a eq b"
fi

a=10
b=20

# 布尔运算符
# !(非) -o(或) -a(与)

if [ $a -lt 11 -a $b -gt 11 ]
then
  echo "$a -lt 11 -a $b -gt 11"
fi

# 逻辑运算符
# && ||

if [[ $a -lt 11 && $b -gt 11 ]]
then
  echo "$a -lt 11 -a $b -gt 11"
fi


filepath="/Users/air_cc/workspace/wechat/fabric-deploy"
if [ -d $filepath ]
then
  echo "file is directory"
fi


# echo的用法
# read name # 读取标准输入的第一行
# echo "get name: ${name}"

echo -e "hello\n" # 转意输出
echo "hello"

echo `date`
echo `ls`

# printf格式化输出
printf "%s-%c-%-4d-%.2f \n" hello w 12 12.234
printf "jack \a"


# 流程控制
a=$1
if [ $a -eq 10 ]
then
  echo 'a == 10'
elif [[ $a -lt 20 ]]; then
  echo '$a lt 20'
else
  echo 'other'
fi

for (( i = 0; i < 10; i++ )); do
  echo "i = $i"
done

for i in 12, 'aaa', false; do
  echo "i = ${i}"
done

a=10
while [[ a -gt 1 ]]; do
  echo "while a == $a"
  let "a--"
done


until [[ a -gt 10 ]]; do
  if [ $a -ne 3 ]; then
    echo "until a == $a"
  else
    echo "util a is ${a}"
  fi

  let "a++"

  if [ $a -eq 8 ];then
    echo "breaked"
    break;
  fi

done


# read word
case $word in
  1) echo 'select 1'
    ;;
  2) echo 'select 2'
    ;;
  *) echo 'select other'
    ;;
esac


# 函数
finWithParam() {
  printf "$0 参数: $1 - ${12} - \n $@ \n - $# \n"
}
finWithParam 1 2 3 4 5 6 7 8 9 10 11 12 13


# 使用外部sh脚本
filepath='./tempfile'
if [ -f $filepath ]; then
  echo `file ./tempfile`
fi
source ./tempfile # 或者 . ./tempfile
echo "-h-"
echo "get url: ${url}"

小技巧

  • 当前执行shell文件的位置
echo "相对位置: `dirname $0`"
echo "绝对位置: `cd \`dirname $0\` && pwd`"

参考

相关文章

  • Shell 基本使用

    基本使用 新建脚本 文件以 xxx.sh 命名,结尾为 .shsh里没有多行注释,只能每一行加一个#号。开发过程中...

  • Shell 基本使用

    文件的新建 以 HelloWorld为例,在目标目录下 vim 一个 HelloWorld.sh 文件 通过以下指...

  • Shell 基本使用

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

  • Shell基本使用

    Xshell 学习 学习目的主要是用于写一些大数据的脚本 第一个shell脚本 编写 以#!/bin/bash做为...

  • Shell 的基本使用

    这里使用的是Bash 概要语法 小技巧 当前执行shell文件的位置 参考 shell教程

  • 9.Linux基本命令操作

    目录: • Linux终端介绍 Shell提示符 Bash Shell基本语法。• 基本命令的使用:ls、pw...

  • Shell学习

    [TOC] Shell基本介绍 shell学习必备基础 Linux的基本使用 如何在bash上执行程序 简单的管道...

  • 第一个Shell程序

    第一个shell程序 shell脚本在Linux中使用非常广泛,因此想快速地学习一下shell,到达基本使用的水平...

  • adb shell 基本使用

    连接远程设备adb connect [ip host+ 端口] 获取设备 进入shell后 [adb shell]...

  • 基本SHELL命令使用

    1.cd 目录切换 注意目录分隔符为“/”,与dos相反 2.mkdir 新建文件夹 3.touch 创建文件 4...

网友评论

    本文标题:Shell 的基本使用

    本文链接:https://www.haomeiwen.com/subject/ktevlttx.html