shell一些方法

字符串截取转自原文地址:http://www.jb51.net/article/56563.htm

一:字符串截取

有var变量:

var=http://www.aaa.com/123.htm

1. # 号截取,删除左边字符,保留右边字符。

echo ${var#*//}www.aaa.com/123.htm

2. ## 号截取,删除左边字符,保留右边字符。

echo ${var##*/}
123.htm

3. %号截取,删除右边字符,保留左边字符

echo ${var%/*}
http://www.aaa.com

4. %% 号截取,删除右边字符,保留左边字符

echo ${var%%/*}
http:

5. 从左边第几个字符开始,及字符的个数

echo ${var:0:5}    #其中的 0 表示左边第一个字符开始,5 表示字符的总个数。http:

6. 从左边第几个字符开始,一直到结束

echo ${var:7}   #其中的 7 表示左边第8个字符开始,一直到结束。
www.aaa.com/123.htm

7. 从右边第几个字符开始,及字符的个数

echo ${var:0-7:3}                #其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
123

8. 从右边第几个字符开始,一直到结束。

echo ${var:0-7}                    #表示从右边第七个字符开始,一直到结束。
123.htm

判断字符串包含关系转自:http://www.cnblogs.com/ginsonwang/p/5525340.html

二:判断字符串包含

1

strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
    echo "包含"
else
    echo "不包含"
fi

2

strA="helloworld"
strB="low"
if [[ $strA =~ $strB ]]
then
    echo "包含"
else
    echo "不包含"
fi

3

A="helloworld"
B="low"
if [[ $A == *$B* ]]
then
    echo "包含"
else
    echo "不包含"
fi

4

thisString="1 2 3 4 5" # 源字符串
searchString="1 2" # 搜索字符串
case $thisString in
    *"$searchString"*) echo Enemy Spot ;;
    *) echo nope ;;
esa

5

STRING_A=$1
STRING_B=$2
if [[ ${STRING_A/${STRING_B}//} == $STRING_A ]]
    then
        ## is not substring.
        echo N
        return 0
    else
        ## is substring.
        echo Y
        return 1
    fi
时间: 2024-10-01 06:43:19

shell一些方法的相关文章

调试 shell script 方法

[email protected]:~$ cat b.sh#!/bin/bash dir=`pwd` dir=$dir'/' for f in `ls *.png` do echo $dir$f done 看每一行代码的执行: [email protected]:~$ bash -x b.sh ++ pwd + dir=/home/wade + dir=/home/wade/ ++ ls chrome_1407299385726.png chrome_1427299385726.png + fo

关于phpweb后台拿shell简单方法。

首先登录后台admin.php 登录后台管理系统后,然后把下面的文件保存为xxx.html,修改action,把 www.xxx.com 改成你的目标网站地址. 代码文件如下: <form name="uploadForm" method="post" enctype="multipart/form-data" action="http://www.xxx.com/kedit/upload_cgi/upload.php"

老男孩教育每日一题-第60天-一道实用Linux运维问题的9种Shell解答方法!

2017-06-04 1.问题为: 已知:/etc/hosts的内容为 192.168.1.11  oldboy11.etiantian.org 192.168.1.21  oldboy21.etiantian.org 192.168.1.31  oldboy31.etiantian.org#192.168.1.111  oldboy111.etiantian.org 请用shell脚本实现,怎么才能在输入IP后找到/etc/hosts里对应的唯一的hostname? 2.解答: 法1)脚本过滤

Amazon EC2 vps申请和shell登录方法

前段时间在阿里云申请了一个域名,一直未用.近期想建一个个人博客,记录一些个人工作,学习,生活日志.本想使用国内虚拟主机,一是备案比较麻烦,二是费用也有一点点高.于是放弃,决定使用海外空间,申请了AWS(Amazon Web Services) 的云服务EC2(Elastic Compute Cloud)免费试用套餐(一年).如下: 免费套餐* 作为 AWS 免费试用套餐的一部分,AWS 的新客户可免费开始使用 Amazon EC2.注册后,新 AWS 客户在一年内每个月都将获得以下 EC2 服务

举例讲解Linux系统下Python调用系统Shell的方法

有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1. os 模块 1.1. os模块的exec方法族Python的exec系统方法同Unix的exec系统调用是一致的.这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回.( 这个看了点 help(os)  --> search "exec" 的相关介绍,但是没太搞

Python之路35-subprocess模块和Python3中常用执行shell命令方法

import subprocess #执行命令,返回命令执行状态 , 0 or 非0 retcode = subprocess.call(["free","-m"])    #返回值可判断执行是否正确,命令执行结果直接返回到屏幕 #执行命令,如果命令结果为0,就正常返回,否则抛异常 result = subprocess.check_call(["ls","-l"]) #执行命令,并返回结果,注意是返回结果,不是打印,下例结果

终端执行python shell的方法

假设有一个Py文件,放在下PycharmProjects/learn下,文件名是 myfile.py. 1.打开终端输入python3进入2.在shell下 输入import sys 回车3.输入 sys.path.append("D:\\python") 回车4.输入 import myfile 回车 5.搞定

linux查看当前shell的方法

1.实时查看当前进程中使用的shell种类:推荐代码如下: ps | grep $$ | awk '{print $4}' (注:$$表示shell的进程号) 2.最常用的查看shell的命令,但不能实时反映当前shell 复制代码 代码如下: $ echo $SHELL 3.更简洁,但并不是所有shell都支持 复制代码 代码如下: $ echo $0 4.环境变量中shell的匹配查找 复制代码 代码如下: env | grep SHELL 5.口令文件中shell的匹配查找 复制代码 代码

简单的web控制shell脚本方法

1)查看php运行用户: <?php system('id -a'); ?> 一般php运行用户是apache 2)给apache用户做密钥信任: 2.1) 先看看apache用户的信息: # su - apache This account is currently not available. # cat /etc/passwd|grep apache apache:x:48:48:Apache:/var/www:/sbin/nologin 改为: apache:x:48:48:Apach