Shell 脚本基础学习

查询手册

菜鸟教程

for循环和seq的使用

echo "method 1"
for i in `seq 1 10`;
doecho $i;
done
echo "method 2"
for i in {1..10}
doecho $i;
done
echo "method 3"
for i in `seq 1 2 10`;
doecho $i;
done

进入目录创建文件重定向内容

cd Test
touch test.sh
echo "This is the test for test.sh ">test.sh

关于函数的使用

如果函数内部没有参数就返回最后一条执行的结果

function Platform()
{echo $(uname)
}function Pwd()
{echo $(PWD)
}function main()
{type=`Platform`echo "Platform:"${type}echo "#####"echo ${PWD}
}main

运行结果

Platform:Darwin
#####
/Users/kouhz/Code/Shell

函数的传参

funWithParam(){echo "第一个参数为 $1 !"echo "第二个参数为 $2 !"echo "第十个参数为 $10 !"echo "第十个参数为 ${10} !"echo "第十一个参数为 ${11} !"echo "参数总数有 $# 个!"echo "作为一个字符串输出所有参数 $* !"
}main
[@kouhaozhedeMacBook-Pro:Shell]$ !bash
bash function.sh
Platform:Darwin
#####
/Users/kouhz/Code/Shell
第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !

接受数字

echo "请输入数字:"
read num
echo "您输入的数字是:"
echo $num

判断文件和文件夹是否存在

if [ -f "test.txt" ];thenrm test.txt
elsetouch test.txt
fi
for i in `seq 1 10`;doecho $i>>test.txt
done

文件比较符
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ “/data/file1” -nt “/data/file2” ]
-ot 判断file1是否比file2旧 [ “/data/file1” -ot “/data/file2” ]

环境变量

local
一般用于局部变量声明,多在在函数内部使用。
global
其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止。

export
将自定义变量设定为系统环境变量(仅限于该次登陆操作,当前shell中有效)
语法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。

正则表达式语法

https://www.sojson.com/regex/generate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382460.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 学习笔记15 子查询

子查询定义&#xff1a; 单上子查询举例&#xff1a; 显示与 员工 关平 同一部门的员工&#xff0c; 但不包括关平 select * from staff where staff.stdepno (select staff.stdepno from staff where stname关平) and staff.stname<> 关平 ;多行子查询举例&#xff…

shell自学笔记

文章目录重定向数值比较逻辑操作符使用范围关于文件判断测试表达式test [] [[]] (())的区别sed教程AWK教程重定向 0表示标准输入 1表示标准输出 2表示标准错误输出 默认为标准输出重定向&#xff0c;与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &…

ffmpeg简单使用小记

1. 使用ffmpeg 进行普通切片&#xff08;ts&#xff09;操作 .\ffmpeg.exe -i a.mp4 -y -f hls -c copy -hls_time 10 .\s.m3u82. 使用ffmpeg 对视频进行设置旋转参数为0 .\ffmpeg.exe -i a.mp4 -metadata:s:v:0 rotate0 -c copy outputfile.mp43. 使用文件对视频进行加密 .\…

python3安装教程配置配置阿里云

配置全新阿里云 Linux iz2ze0ajic0vbvwnjhw2bwz 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 安装依赖包 wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc1.tar.xz 新建一个文件夹存放python3 mkdir /u…

python 使用requests模块进行 视频文件的下载

公司项目需要下载一批视频文件&#xff0c; 格式是mp4和mkv的&#xff0c;就借助request模块进行了下载&#xff0c;前提是源服务器返回文件的大小&#xff0c;以及可以接受 请求头headers中带有Range参数 以下是下载逻辑&#xff1a; resp requests.head(urlreal_video_url)…

Git的多人协作和分支处理测试

首先配置ssh密钥 克隆项目 配置两台主机&#xff08;一台本地mac&#xff0c;一台云服务器&#xff09;通过这样的方式模拟多人开发。 创建分支 [root ~/Git_test_多人协作和冲突合并/branch_test]$ ls README.md [root ~/Git_test_多人协作和冲突合并/branch_test]$ git b…

python 碎片整理 threading模块小计

threading模块中&#xff0c; start()与run()方法的区别 threading.start() 方法是开启一个线程 threading.run() 方法则是普通的函数调用

git教程目录

git入门教程 PyCharm和git安装教程 Git的多人协作和分支处理测试

msyql 禁止远程访问

1. use mysql 2. select host , user from user; 查看用户 与 对应的host 3. 将 host 中是 %的改为 localhost&#xff0c; 酌情也可以其他用户 的host限制为localhost update user set host "localhost" where user "root" and host "%" 4. …

mysql索引回表

先索引扫描&#xff0c;再通过ID去取索引中未能提供的数据&#xff0c;即为回表。 建表 mysql> create table T( id int primary key, k int not null, name varchar(16), index (k))engineInnoDB;如果语句是 select * from T where ID500&#xff0c;即主键查询方式&am…

C++ 执行cmd命令 并获取输出

这是参考别人的 &#xff0c;具体来源忘了&#xff0c;唉&#xff0c;等想起来一定补上出处 头文件 PipeCmd.h #ifndef _PIPE_CMD_H_ #define _PIPE_CMD_H_#include <Windows.h>// 执行 cmd 命令, 并获取执行结果数据 BOOL PipeCmd(char *pszCmd, char *pszResultBuffe…

iterm2 保存阿里云登陆并防止断开连接

commando edit profiles新增一个页面 添加命令 ssh -A -p 22 -o ServerAliveInterval60 rootIP

QString中包含中文的时候, 转为char *

转载自 https://blog.csdn.net/mihang2/article/details/39026865 QString中包含中文的时候&#xff0c; 转为char * void FileEncWidget::QString2ANSI(QString text, char **pOut) {std::wstring wIn text.toStdWString();char *pcstr (char *)malloc(sizeof(char)*(2 * w…

brew安装

官网&#xff1a;http://brew.sh/ 安装软件&#xff1a;brew install 软件名&#xff0c;例&#xff1a;brew install wget搜索软件&#xff1a;brew search 软件名&#xff0c;例&#xff1a;brew search wget卸载软件&#xff1a;brew uninstall 软件名&#xff0c;例&#…

关于异步IO模型的学习

看到两篇不错的文章&#xff0c;转载了&#xff1a; https://www.cnblogs.com/fanzhidongyzby/p/4098546.html https://www.cnblogs.com/aspirant/p/9166944.html

centos 无法连接网络

最小化安装&#xff0c;没有ifconfig默认没法联网 cd /etc/sysconfig/network-scripts/ sudo vi ifcfg-en33 也有可能是其他后缀 找到ONBOOTno service network restart 然后yum install net-tools

C++实现utf8和gbk编码字符串互相转换

不同系统或者服务器之间消息传递经常遇到编码转换问题&#xff0c;这里用C实现了一个轻量的gbk和utf8互相转换&#xff0c;可跨平台使用。&#xff08;重量级的可以用libiconv库&#xff09; 在windows下用<windows.h>头文件里的函数进行多字节和宽字符转换&#xff0c;…

mysql5.7初始密码查看及密码重置

查看初始密码 grep temporary password /var/log/mysqld.logcat /root/.mysql_secret mysql密码找回 密码重置 vi /etc/my.cnf 在[mysqld]下加上 skip-grant-tables&#xff0c;如&#xff1a; [mysqld] datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock skip-g…

Ubuntu Linux系统环境变量配置文件

Ubuntu Linux系统环境变量配置文件&#xff1a; /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 /etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profi…

Mooc的Python3学习笔记

文章目录一些优秀的博主仅供自己查阅&#xff01;&#xff01;&#xff01;首先是掌握基本语法&#xff01;内置的运算符函数函数模块补充知识点pass函数返回多个值关于默认参数使用的注意事项可变参数的使用方法天天向上代码单元测试异常处理代码单例模式Python 中的 if __nam…