Shell 指令

指定解析器

#!/bin/bash -> 脚本第一行

跳转目录

cd /home

创建文件

touch hello.sh

进入文件

vim hello.sh

文件输出内容

echo "hello" >> hello.sh

查看文件内容

cat hello.sh

系统变量

$home -> 路径
$shell -> 解析器
$user -> 用户

声明局部变量

A=1 -> 等号两边不能有空格
B="hello world" -> 带空格需要用双引号

声明静态变量

readonly C=2 -> 不可注销

声明全局变量

export B

输出变量

echo $A

注销变量

unset A

特殊变量

bash hello.sh 1 2 3 -> 执行sh文件并传入3个参数
$0 -> 脚本名称(hello.sh)
$1 ~ $9 -> 第1~第9个入参(1 2 3)
${10} -> 从第10个入参开始需要使用大括号
$* -> 所有参数,作为一个整体
$@ -> 所有参数,不作为一个整体

执行指令状态

$? -> 0正确,非0不正确

运算符,左右要带空格

expr $[1 + 2] -> 3
expr $((1 + 2)) -> 3

if 流程

if [ $1 -eq 1 ]; then
 echo " if "
elif [ $1 -eq 2 ]; then
 echo " elif "
fi

if [ $1 -eq 1 ] 
 then
  echo " if "
elif [ $1 -eq 2 ]
 then
  echo " elif "
fi

文件表达式

-f -> 文件是否存在
if [ -f path ]

-d -> 目录是否存在
if [ -d path ]

-s -> 文件存在且非空
if[ -s path ]

-r -> 文件存在且可读
if[ -r path ]

-w -> 文件存在且可写
if[ -w path ]

-x -> 文件才能在且可执行
if[ -x path ]

整数表达式

-eq -> 等于
if[ 1 -eq 1]

-ne -> 不等于
if[ 1 -ne 1]

-ge -> 大于等于
if[ 1 -ge 1]

-gt -> 大于
if[ 1 -gt 1]

-le -> 小于等于
if[ 1 -le 1]

-lt -> 小于
if[ 1 -lt 1]

字符表达式


case 流程

case $1 in 
1)
   echo " 1 "
;;
2) 
   echo " 2 "
;;
*)
   echo " default "
;;
esac

while 流程

s=0
i=1
while [ $i -le 100 ] 
do
      s=$[$s + $i]
      i=$[$i + 1]
done

for 流程

s=0
for((i=1;i<=100;i++))
do
      s=$[$s+$i]
done

返回文件名称

basename /home/hello.sh -> hello.sh
basename /home/hello.sh .sh -> hello

返回文件路径

dirname /home/hello.sh -> /home

迁移文件

cp /home/a/hello.sh /home/b -> 文件从a目录移动到b目录

查找文件

find /home |grep hello.*

授权端口

chmod 755 hello.sh

定时任务

crontab -e -> 输入指令
i -> 输入指令使之变更为新增模式
* * * * * -> 设置定时触发的脚本 (分 0~59 /时 0~23 /日 1~31 /月 1~12/ 星期 0~7)
0,30 10 * * * /app/cmd/hello.ksh -> 每天的10点整和10点30分执行一次
0 6-12/3 * * * /app/cmd/hello.ksh ->  每天6点到12点的,每隔3个小时执行一次
esc -> 按下键盘按键使之退出
:wq -> 输入指令使之保存并退出
enter -> 按下键盘按键使之完成整个操作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • linux shell一些重要指令 ?代表的是回传值这个变量代表的是上一个命令执行的回传的值,一般来说,成功执行回...
    Carver_c5f0阅读 373评论 0 0
  • Linux Shell常用shell命令 一、文件、目录操作命令 1、ls命令 功能:显示文件和目录的信息 ls以...
    郭苒阅读 7,091评论 0 1
  • 一般都先从实例 入门 25个简单shell例子 - CSDN博客 env 查看系统默认变量 -a -a,-o,...
    任嘉平生愿阅读 159评论 0 0
  • Shell(Unix Shell)是一种命令行解释器,是Unix操作系统下最传统的人机接口。 Shell脚本是解释...
    帅驼驼阅读 1,015评论 0 5
  • 文档声明:以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学...
    Aliven888阅读 890评论 0 1