shell脚本

学习之shell脚本

做~自己de王妃 提交于 2020-02-25 11:40:44
第一行:#!/bin/bash --> #! 标记脚本的解释器 脚本: #!/bin/bash     echo "hello world" 赋予执行权限 chmod +x ./test.sh 执行脚本:./test.sh 定义变量 时不需要 $ 符号 :td='date "+%y%m%d"' 1.变量名和符号之间不能有空格 2.首个字符必须为字母 3.中间不能有空格,可以使用划线(_) 4.不能使用标点符号和 bash 中的关键字 除了显示赋值,还可用语句直接给变量赋值 for file in 'ls /etc' 将 /etc目录下的文件名循环出来 使用一个定义过的变量,只需在变量名前加上 $ 符号即可 echo $td 或 echo ${td} 对同一个变量名,可以进行二次赋值 eg: td='date "+%m%d"' 只读变量:readonly 定义变量为只读变量,变量值不可更改 url="http://www.baidu.com" readonly url url="http://www.tx.com" --> 报错 删除变量: unset variable_nae,不能删除只读变量 shell存在三种变量:①局部变量:脚本或命令中定义,仅在当前脚本有效           ②环境变量:所有程序有效           ③shell变量:由shell程序设置的变量

Windows下怎么执行shell脚本

偶尔善良 提交于 2020-02-25 11:39:14
1、在windows下想要执行shell脚本,需要使用到"Git Bash",所以我们需要先安装Git。 2、查看Git环境变量是否配置,没有配置需要配置(我这里安装Git时自动配置了) 3、随意目录,打开"Git Bash"窗口,创建一个shell脚本文件。 如:touch test.sh 4、创建成功后输入内容。 如:echo "hello world" 5、运行脚本,有三种运行方式: (1)./test.sh (2)sh test.sh (3)/bin/sh test.sh 来源: https://www.cnblogs.com/woods1815/p/11026658.html

shell编程基础

纵饮孤独 提交于 2020-02-25 11:35:07
运行Linux程序有三种方法: 1.直接运行(文件具有可执行权限): ./test.sh 2.调用命令解释器执行程序: /bin/bash test.sh 3.使用source执行程序: source test.sh 一个简单的shell程序——test.sh: #! /bin/bash # shell脚本以#!开始,/bin/bash告诉shell应该选择哪个解释器解释这个脚本 cd test echo "Hello" 三种方法均会输出“hello”无疑,但是用pwd查看当前路径是否改变时: keegen@keegensCP:~$ pwd /home/keegen keegen@keegensCP:~$ ./test.sh Hello keegen@keegensCP:~$ pwd /home/keegen keegen@keegensCP:~$ /bin/bash test.sh Hello keegen@keegensCP:~$ pwd /home/keegen keegen@keegensCP:~$ source test.sh Hello keegen@keegensCP:~/test$ pwd /home/keegen/test 可以看出,第三种方法和前面两种方法是不同的,用source执行程序目录发生了改变! Linux shell可执行命令有三种:内建命令

shell学习

独自空忆成欢 提交于 2020-02-25 11:30:28
脚本调试: sh -x test.sh 一 、shell基础 1、history => !! / !n /!字符串 2、alias => alias ls='ls -al' 3、通配符 => * / ? 4、输入输出重定向 => < / > / 2> / >> 5、管道 | 6、进程控制 ctrl + z(暂停) / ctrl + c(终止) /fg(恢复,前台运行) /bg(恢复,后台运行) 二、变量 1、环境变量 :代表所有常用命令的绝对路径的设定 查看所有预设的环境变量 env   PATH =》 决定了shell将到哪些目录中寻找命令或程序 HOME =》 当前用户主目录   LOGNAME =》当前用户的登录名   HOSTNAME =》指主机的名称   SHELL =》前用户Shell类型   LANG =》语言相关的环境变量,多语言可以修改此环境变量   MAIL=》 当前用户的邮件存放目录   PWD =》当前目录 2、自定义变量对系统内所有用户可见办法   需要在/etc/profile文件最末行加入 “export key=value” 然后运行”source /etc/profile”就可以立即生效 3、 只对当前用户可见 需要在用户主目录下的.bashrc文件最后一行加入“export key=value” 然后运行”source .bashrc

使用shell程序备份crontab中的.sh脚本文件

白昼怎懂夜的黑 提交于 2020-02-24 21:46:47
需求 线上环境有一些定时脚本(用 crontab -l 可查看当前用户的),有时我们可能会改这些定时任务的脚本内容。为避免改错无后悔药,需用shell实现一个程序,定时备份crontab中的.sh脚本文件 分析与思考 所有用户的crontab放在 /var/spool/cron/ 目录,各个用户放在各自目录下。只要把这些用户的crontab读取出来,提取出其中的.sh文件,然后按照用户备份到相应目录就行。最后配一个crontab,定时去执行这个备份程序。 备份程序的实现 #!/bin/bash # this shell script from https://www.cnblogs.com/itwild/ # backup dir # root user will in ${bak_dir}/root, itwild user will in ${bak_dir}/itwild bak_dir=/var/itwild # new file will end with 2020-02-24_00:28:56 bak_suffix=$(date '+%Y-%m-%d_%H:%M:%S') if [[ ! $bak_dir == */ ]]; then bak_dir="${bak_dir}/" fi create_dir_if_not_exist() { u="$1" user_bak

第12章 学习shell脚本

风格不统一 提交于 2020-02-24 12:52:40
12.1 什么是shell脚本 就字面上的意思,即针对shell所写的剧本,shell脚本是利用shell的功能所写的一个程序,这个程序使用纯文本文件,将一些shell的语法和命令(也可以是外部命令)写在里面,还能搭配正则表达式、管道命令和数据流重定向等功能,以达到我们需要的处理目的,执行一个“shell脚本”文件,就能一次执行多个命令,shell脚本还提供数组、循环、条件与逻辑判断等功能,用户可以直接用shell来编写程序,而不必使用类似C语言等传统程序语言来编写,shell脚本可以简单地被看成是批处理文件,也可以被说成是程序语言,且由于这个程序语言都是利用shell与相关工具命令,所以不需要编译即可执行 1学习shell脚本的作用 自动化管理:管理一台主机每天要进行的任务有查询日志文件、跟踪流量、监控用户使用主机状态、主机各项硬件设备状态、主机软件更新查询等,你可以每天手动处理这些事情,也可以写个简单的shell脚本,让它来帮你处理每天的任务 帮助管理系统:CentOS6.x以前的版本中系统服务启动的接口是在/etc/init.d/这个目录下,这个目录下所有文件都是脚本文件,另外,包括启动过程也要利用shell脚本来帮忙查询系统的相关设置参数,然后再代入各个服务中,从CentOS7开始,/etc/init.d/这个脚本启动的方式由systemd所替代

shell脚本编写统计内存使用

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-24 04:31:26
vim aa.sh #!/bin/bash count = 0 # 这个循环会遍历出每个进程占用的内存大小 for i in ` ps aux | awk '{print $6 }' | grep -v 'RSS' ` do # 将遍历出来的数字进行累加 count = $ [ $count + $i ] done # 就得到所有进程占用内存大小的和了 echo " $count /kb" sh aa.sh ps aux | grep -v 'RSS TTY' | awk '{sum=sum+ $6 };END{print sum}' 来源: CSDN 作者: aaronszm 链接: https://blog.csdn.net/aaronszm/article/details/104464239

学习shell script

≡放荡痞女 提交于 2020-02-22 17:44:39
学习shell script 1.什么是shell script 1.1.编写第一个script程序 1.2.script编程的良好习惯 2.简单范例 2.1.交互式脚本 2.2.随日期变化 2.3.不同的script的执行方式的区别 3.判断指令 3.1.test命令的用法 3.2.脚本文件的默认变量 4.条件判别 4.1.利用 if...then 4.2.利用case...esac判断 4.3.function函数 5.循环loop 5.1. while do done, until do done 5.2. for..do..done 5.3 for...do...done数值处理 1.什么是shell script shell script 就是一种程序化脚本。shell是让用户和系统沟通的一种工具,我们所使用的bash就是shell的一种。而shell script 就是用shell功能来写一个程序。 1.1.编写第一个script程序 第一个程序的功能就是简单输出hello world zhangsan@Aliyun:~$ mkdir script ; cd script zhangsan@Aliyun:~$ vim zhangsan01.sh 1 #!/bin/bash 2 # This is the program show "Hello world" 3 PATH

shell脚本带颜色字体输出

耗尽温柔 提交于 2020-02-22 15:11:38
#!/bin/sh # #下面是字体输出颜色及终端格式控制 #字体色范围:30-37 echo -e "\033[30m 黑色字 \033[0m" echo -e "\033[31m 红色字 \033[0m" echo -e "\033[32m 绿色字 \033[0m" echo -e "\033[33m 黄色字 \033[0m" echo -e "\033[34m 蓝色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m" echo -e "\033[36m 天蓝字 \033[0m" echo -e "\033[37m 白色字 \033[0m" #字背景颜色范围:40-47 echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;30m 红底黑字 \033[0m" echo -e "\033[42;34m 绿底蓝字 \033[0m" echo -e "\033[43;34m 黄底蓝字 \033[0m" echo -e "\033[44;30m 蓝底黑字 \033[0m" echo -e "\033[45;30m 紫底黑字 \033[0m" echo -e "\033[46;30m 天蓝底黑字 \033[0m" echo -e "\033[47;34m 白底蓝字 \033[0m" #控制选项说明 #\033

shell脚本执行

我与影子孤独终老i 提交于 2020-02-22 02:51:06
方法一:切换到shell脚本所在的目录执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。 方法二:以绝对路径的方式去执行bash shell脚本: /data/shell/hello.sh 方法三:直接使用bash 或sh 来执行bash shell脚本: cd /data/shell bash hello.sh 或者 cd /data/shell sh hello.sh 注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊 来源: https://www.cnblogs.com/ymjyqsx/p/6513703