![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Shell
文章平均质量分 62
shell脚本语言
绛洞花主敏明
研究生在读,喜欢刺激有挑战。
展开
-
什么是SSH 以及常见的ssh 功能
一、SSHSSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。这里只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH,会用到另一种软件PuTTY,这需要另文介绍。SSH之所以能够保证安全,原因在于它采用了公钥加密整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就原创 2022-03-24 22:48:31 · 13958 阅读 · 0 评论 -
shell中xargs命令
一、 xargs的功能xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具xargs可以将管道或标准输入数据转换成命令行参数,也能够从文件的输出中读取数据xargs也可以将单行或多行文本输入转换为其他格式(多行变单行,单行变多行)xargs默认的命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过- -xargs的处理,换行和空白将被空格取代二、xargs用法格式:somecommand | xargs -item command参数-原创 2022-02-24 10:54:01 · 4576 阅读 · 0 评论 -
Linux中sudo和su之间的区别
在对两个不同的命令sudo和su进行总结之前,先对Linux环境下是如何增加管理用户的来进行讲解,因为新手在进行测试直接需要建立一个普通的用户来进行测试和管理,这也是众多在Linux环境下开发的工作者的一个需求,准备的工作如下:一、建立新的用户建立新用户的命令为useradd常用的配置选项如下:zhaokaiyue@zhaokaiyue-PC:~$ useradd用法:useradd [选项] 登录 useradd -D useradd -D [选项]选项: -b,原创 2021-11-27 19:35:27 · 2238 阅读 · 1 评论 -
shell中获取当前目录,上级目录,文件夹名
#当前目录$PWD#上级目录dname= $(dirname "$PWD")#当前文件夹名basename '$PWD'例如:在文件中在文件夹的路径为/home/test/test1>>>>echo $(basename "$PWD")>>test1>>>>echo $(dirname "$PWD")>>/home/test>>>>$PWD>>/home/test原创 2021-05-12 23:47:19 · 9606 阅读 · 0 评论 -
vim多窗口使用技巧
vim多窗口使用技巧1、打开多个窗口同时启动多窗口vim的多窗口是动态的,可以开始编辑时就打开多窗口,也可以工作时随时增加新窗口,或者删除一个窗口。$ vim -o file1 file2 打开一个编辑会话,显示为水平分割成两半的窗口,一个文件占用一个窗口。$ vim -O file1 file2 和上面相同,不过是垂直分割两半的窗口-o后面加一个数字n,是预分配窗口的形式打开:$ vim -o5 file1 file2 将分配5个相同的窗口,有3个是闲置的打开多个窗原创 2021-04-05 11:30:04 · 4740 阅读 · 0 评论 -
vim的关键词的补全功能
vim的关键词的补全功能在插入模式下,利用自动补全(Insertion-Completion)功能,vim能够根据正在输入的字符,查找匹配的关键字并显示在弹出菜单(popup menu)中。通过选择匹配项,可以补全输入的部分关键字甚至整行文本。Vim可以针对整行文字、关键字、字典、词典、标签、文件名、宏、命令和拼写等等进行补全。本节将首先介绍进入补全模式的操作方法;下节将详细介绍各种补全方式的特点。关键字补全(Generic keyword completion)使用Ctrl-N或Ctrl-P键,将原创 2021-04-05 10:51:47 · 2493 阅读 · 2 评论 -
在 Shell 脚本中调用另一个 Shell 脚本的三种方式
在 Shell 脚本中调用另一个 Shell 脚本的三种方式先来说一下主要以下有几种方式:fork: 如果脚本有执行权限的话,path/to/foo.sh。如果没有,sh path/to/foo.sh。exec: exec path/to/foo.shsource: source path/to/foo.shforkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ./foo.sh。运行的时转载 2021-04-03 23:09:22 · 4787 阅读 · 0 评论 -
shell脚本之--数组操作
前言:在Linux平台上工作,我们经常需要使用shell来编写一些有用、有意义的脚本程序。shell数组并不常用到,因为它仅支持弱类型的一维数组,但在某些情况下,它非常的有用。那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解,shell中的数组。数组的定义何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的...转载 2020-03-09 14:43:53 · 526 阅读 · 0 评论 -
shell脚本之--单引号、 双引号,反引号(``)的区别及各种括号的区别
一、单引号和双引号原文点击链接首先,单引号和双引号,都是为了解决中间有空格的问题。因为空格在Linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中的’′(参数替换)和′‘′(命令替换)是例外。所以,两者基本上没有什么区别,除非在内...原创 2019-05-15 08:51:02 · 8361 阅读 · 0 评论 -
shell脚本之--$$和||和|和()和{}的用法
Shell && 和 ||shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中。当 $? == 0 时,表示执行成功;当 $? == 1 时,表示执行失败。有时候,下一条命令依赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和...原创 2019-05-11 15:38:41 · 4940 阅读 · 0 评论 -
Shell脚本之--特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
shell中的特殊命令行参数命令变量$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1$#传递给脚本或函数的参数个数$*传递给脚本或函数的所有参数$@传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。$?上个命令的退出状态,或函数的返回值...原创 2019-05-11 16:05:08 · 139 阅读 · 0 评论 -
shell中#*,##*,#*,##*,% *,%% *的含义及用法
介绍下Shell中的KaTeX parse error: Expected 'EOF', got '#' at position 4: {}、#̲#和%%使用范例,本文给出了不…{ }分别替换得到不同的值:${file#/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##/}:删掉最后一个 / 及其左边的字符串:my.file.txt...原创 2019-07-08 23:04:57 · 3261 阅读 · 0 评论 -
shell脚本之--正则表达式
一、基础正则^word ##搜索以word开头的 vi/vim中 ^ 一行的开头word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾^$ ##表示空行. ##代表且只能代表任意一个字符\ ##例:\. 只代表点本身,转义符号,让有特殊身份意义的字符,脱掉马甲,还原\n ##换行符\r ...原创 2020-03-09 11:47:20 · 206 阅读 · 0 评论 -
shell脚本之--break、continue
shell脚本之–break、continuebreak表示跳出本层循环,break n表示跳出循环的层数。continue表示跳过本次循环,continue n表示跳过n次循环。例子#!/bin/bash#文件名:test.sh for i in 1 2 3 4 5 6 7 8 9do if [ $i -eq 4 ];then continue el...原创 2020-03-08 22:00:06 · 368 阅读 · 0 评论 -
shell脚本之--${}, ##和%%
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/ 及其左边的字符串:my.file.txt${file#*.}:删掉第一个. 及其左边的字符串:file.txt...原创 2020-03-08 21:57:44 · 2213 阅读 · 0 评论 -
Shell 脚本之--中括号用法总结
Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:算术比较, 比如一个变量是否为0, [ $var -eq 0 ]。文件属性测试,比如一个文件是否存在,[ -e $var ], 是否是目录,[ -d $var ]。字符串比较, 比如两个字符串是否相同, [[ $var1 = $var2 ]]。[] 常常可以使用 test 命令来代替,后面有介绍。算术比较对变量...原创 2019-07-15 18:02:07 · 803 阅读 · 0 评论 -
shell编程之--函数的用法
shell中函数的定义有三种方法:如下所示:function 函数名 () { 指令... return -n } function 函数名 { 指令... return -n } 函数名 () { 指令... return -n }注意: 函数名()与中括号...原创 2019-07-16 10:35:46 · 114 阅读 · 0 评论 -
shell脚本之--(变量类型、变量操作、定义、运算与逻辑运算)
一、Shell 脚本基础1、变量名称与注意事项变量名不能以数字开头不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用“_”下划线开头 最好做到见名知意不能使用程序中的保留字,列如if,for等2、变量类型字符型数值型整型浮点型布尔型 条件是和否#$echo $a 引用abc 撤销unset +(变量名)a3、变量操作设置变量引用...原创 2019-07-16 11:06:26 · 660 阅读 · 0 评论 -
shell脚本之--for循环
shell脚本-for循环#!/bin/bash# 打印当前路径下的所有文件,包括当前路径下文件夹中包含的文件 for i in `ls ./*`;do echo ${i} done# 只是打印当前路径下的所有文件 for i in ./*;do echo ${i} done# 只是打印当前路径下的所有文件 for i in `ls ./`;do ...原创 2020-03-07 18:06:08 · 506 阅读 · 0 评论 -
shell脚本之--函数返回值
使用shell脚本时函数的返回值有三种。echoreturn全局变量1、echo 是返回函数值。#!/bin/bashfunction addarray { local sum=0 local newarray newarray=(`echo "$@"`) for value in ${newarray[*]};do sum=$[ ...原创 2020-03-07 18:02:52 · 4761 阅读 · 0 评论