Linux

您所在的位置:网站首页 shell编程可以做什么 Linux

Linux

2023-04-09 20:04| 来源: 网络整理| 查看: 265

Linux_shell脚本编程1 vim编辑器vim file1 #打开文件 i #按 i 进入inssert模式 echo "Hi" #按esc退出 #按 :进入末行模式 #按 wq 退出bash file1 #用bash执行这个文件,bash是一个命令,file1这个文件就称为shell脚本。2 shell 脚本

(1)shell 脚本:为了和普通文本文件区分开,通常shell脚本都会以 .sh 为后缀名(不写.sh也可以执行,能否执行取决于文件里面写了什么样的代码以及用什么解释器进行解释。)

更标准的情况,在shell脚本的第一行写上 #!/bin/bash。脚本首行的 #! 是Linux的shebang符号,指定解释器。

(2)其他脚本:在Linux中使用其他编程语言,需要在 shebang(释伴) 中定义解释器,Python 是 python/python2/python3, R 语言是 Rscript,用 which 命令找到解释器位置。

shebang扩展:如何解决不同的平台或者不同的设备下的差异?

shebang的通用写法:

#!/usr/bin/env bash

#!/usr/bin/env python

#!/usr/bin/env Rscript

env的位置相对固定, 让env去调用当前环境下的编译器。

(3)Shell 脚本:修改shell脚本的文件权限后,可以直接通过路径调用(即充当command的作用)。

补充一个权限问题:

drwxrwxrwx #d代表文件类型,l代表链接文件,-代表普通文件, r:4可读;w:2可写;x:1可执行。第一个rwx表示自己的权限,第二个rwx表示同组的权限,第三个rwx表示其他人的权限。

(4)参数传递

#首先编辑一个脚本 vim test.sh i #!usr/bin/env bash cat $1 : wq ​ #然后执行 bash test.sh readme.txt #readme.txt这个文件是可以变的。

(5)脚本提交

cat test.sh bash test.sh readme.txt 1>test.log 2>&1 # 进行分开重定向,正确与错误分别进入两个log文件。1:标准输出流 2:标准误输出流。 log文件是日志文件,命名可以自行更改。任务提交 nohup :不要挂断任务,即把任务提交到服务器上运行 & :任务后台运行,通常与 nohup 连用 top :实时显示系统中各个进程的资源占用状况,按 q 退出 htop :优化过的 top 命令,界面更美观 ps :Process Status列出当前系统中运行的进程列表, 一般加上–ef参数,搭配grep进行搜索:ps –ef | grep 用户名 kill :杀掉进程,kill -9 PIDvim test3.sh i echo "start" ​ for i in {1..500} do echo ${i} sleep 3s done esc :wqbash test3.shnohup bash test3.sh & #将其提交到服务器 &可以单独使用,单独使用是挂在当前窗口的后台。 htop -u Jan211 #看自己的后台任务

查看命令的运行情况

用tail浮动查看输出结果 • tail -f 用less的浮动查看 • less → shift+F • 用top或者htop进行监视 top/htop 或者 top | grep ‘$ LOGNAME’


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3