小编Cyb*_*beX的帖子

bash - 查找子字符串的字符串索引位置

大家好

我看不到我的错误,我想在字符串“t”中找到子字符串“searchstring”的位置

在我看过的几种方法中,这似乎最简单也最容易理解,但这只是挂起(两者)

awk 'match($t, "$searchstring")'

awk '{print match($t, "$searchstring")}' 
Run Code Online (Sandbox Code Playgroud)

原始帖子 - 帖子 #3

  • t ="MULTI: xyz/xxxx 的主要虚拟 IP:44595: 10.0.0.12"

  • 搜索字符串 ="IP 为"

有什么建议?

linux bash

9
推荐指数
2
解决办法
3万
查看次数

bash - 字符串操作在子字符串之前或之后获取字符串

大家好

这是一个菜鸟问题,但我似乎无法在任何地方找到答案。其他函数如 'cut' 或 'awk' 或 'sed' 总是被提及但从未使用字符串表达式函数(我认为它被称为)

string="hi this is a string.and.it has no purpose other than being here"

searchstring="and"

temp=${string#*$searchstring} # this means everything after "and" will be inserted into temp

echo $temp = "hi this is a string."
Run Code Online (Sandbox Code Playgroud)

但是说我想要“和”之前的所有内容,并使用与我用来获取临时变量结果相同的方法,因此我想要

echo $temp = ".it has no purpose other than being here"
Run Code Online (Sandbox Code Playgroud)

我试过了

temp=${string%*$searchstring} (as I understand, # is from front and % is back)
Run Code Online (Sandbox Code Playgroud)

但这仅返回未更改的字符串内容

还有,手册页,这个叫什么,这个字符串表达式函数,在哪里可以找到更深入的信息?

linux bash

8
推荐指数
1
解决办法
5万
查看次数

如何在 Linux 中从 URL 下载文件

通常人们会下载一个 URL 以文件扩展名结尾的文件。

要下载 Ubuntu ISO,很简单

wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-desktop-amd64.iso
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了一个我怀疑使用 ASP.Net / IIS 的站点。

ISO 的链接采用这种形式(我删除了链接内容以防万一……政策)

http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899
Run Code Online (Sandbox Code Playgroud)

我不知道如何下载它,因为它有 MD5 和到期时间作为参数,所以 wget 只下载一个网页,而不是这个 ISO。

有什么建议?

linux download wget

8
推荐指数
2
解决办法
4万
查看次数

树莓派不会调出wlanX接口-多个无线接口

让我直接跳进去。

我正在使用运行最新版本 raspbian(像素)的 raspberry pi 3 作为路由器/wifi 热点


我有 3 个无线接口:

  1. 内置wifi接口(brcmfmac
  2. 用于 2.4Ghz Wifi-AP 的TP-Link WN722(尚未工作)(ath9k_htc
  3. Comfast CF-912AC ( rtl88112au )

每个接口的用途:

  • wlan0 => 5Ghz hostapd 守护进程
  • WLAN1 =>链接的路由器(参考wpa_supplicantinterfaces文件)
  • wlan2 => 2.4Ghz hostapd 守护进程(不可操作)

查看底部了解更多信息


问题:

这是一个经常出现的问题,我遇到过,使用 Raspberry Pi 的

我根本无法调出接口wlan0wlan2,并且wlan2不会让步到/etc/network/interfaces.

我尝试了各种命令来调出这些界面,但都不起作用:

$ sudo ifdown wlan0
ifdown: interface wlan0 not configured

$ sudo ifup wlan0
RTNETLINK answers: File exists
Failed to …
Run Code Online (Sandbox Code Playgroud)

networking linux debian wireless-networking raspberry-pi

8
推荐指数
1
解决办法
7589
查看次数

bash - 从函数返回数组并显示内容

经过一些 bash 自学和试验,我坚持从函数返回一个数组,并且我一生都看不到我的错误。

简而言之,这应该/必须做的是使用具有从文件中读取值/字符串的函数,返回一个数组:

  • 声明一个数组:clients
  • 将函数的返回数组分配给数组客户端
  • 显示阵列客户端

在我看来,该函数似乎读取整个文件而不是逐行读取,从而将所有字符串放入数组中的单个单元格中,我不确定如何将 clients[0] 显式显示为 $(clients[0] ]) 在 bash 代码中失败

如果通过某种方式我做错了什么,也请指出这一点或任何关于优化这一点的建议

#!/bin/bash
readArray(){
        local array=()
        local i=0;
        local j=0
        while IFS= read -r LINE  && [[ -n "$LINE" ]] ; do 
                array[$((i++))]+=${LINE}; # Append line to the array
                ((j++))
        done < "$1";
        rtr=${array[@]}
}
string="/home/cybex/openvpntest/openvpn.log"
declare -a clients
#sed -i '/^$/d' $string
clients=$(readArray "$string")
echo "${clients[@]}"

echo -e "array not empty, displaying array contents\n"

for i in "${!clients[@]}"; do 
  echo "$i: ${clients[$i]}"
done
echo -e …
Run Code Online (Sandbox Code Playgroud)

linux bash

6
推荐指数
1
解决办法
3万
查看次数