小编Dra*_*oan的帖子

命令选项的优先级?

我知道这rm -f file1会在file1不提示我的情况下强行删除。

我也知道rm -i file1在删除之前会先提示我file1

现在,如果您执行rm -if file1,这也将在file1不提示我的情况下强行删除。

但是,如果您执行rm -fi file1,它会在删除之前提示我file1

那么,在组合命令选项时,最后一个优先是真的吗?like rm -if, then-f将优先,但 rm -fithen the-i将优先。

ls例如命令,如果你说不要紧ls -latRls -Rtal

所以我想只有当你有矛盾的命令选项时才重要,比如rm -if,对吗?

command-line options rm command

21
推荐指数
3
解决办法
4030
查看次数

bash ${VAR//search/replace} 和奇怪的正则表达式行为

我正在尝试使用 ${VAR//search/replace} 参数扩展对变量进行一些搜索和替换。我有一个很长很邪恶的 PS1,我想算出扩展后的大小。为此,我必须删除一堆我塞进去的转义序列。但是,在尝试删除所有 ANSI CSI SGR 序列时,我遇到了语法问题。

鉴于我的 PS1:

PS1=\[\033]0;[\h] \w\007\]\[\033[1m\]\[\033[37m\](\[\033[m\]\[\033[35m\]\u@\[\033[m
\]\[\033[32m\]\h\[\033[1m\]\[\033[37m\]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m
\]\t\[\033[37m\]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m\]\[\033[36m\]\w\[\033[1m
\]\[\033[37m\])\[\033[35m\]${git_branch}\[\033[m\]\n$
Run Code Online (Sandbox Code Playgroud)

(是的,我知道它生病了...)

我正在尝试做:

# readability
search='\\\[\\033\[[0-9]*m\\\]'
# do the magic
sane="${PS1//$search/}"
Run Code Online (Sandbox Code Playgroud)

然而,这些似乎是贪婪的[0-9](几乎就像[0-9]被当作​​ a.来对待):

echo "${PS1//$search/}"
\[\033]0;[\h] \w\007\]\n$ 
Run Code Online (Sandbox Code Playgroud)

如果我删除*, 并更改[0-9][0-9][0-9](因为这更具说明性),我会更接近预期的结果:

$ search='\\\[\\033\[[0-9][0-9]m\\\]'
$ echo "${PS1//$search/}"
\[\033]0;[\h] \w\007\]\[\033[1m\](\[\033[m\]\u@\[\033[m\]\h\[\033[1m
\]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m\]\t\[\033[1m\])\[\033[m\]-\[\033[1m
\](\[\033[m\]\w\[\033[1m\])$(git_branch)\[\033[m\]\n$ 
Run Code Online (Sandbox Code Playgroud)

为什么*(零个或多个)做疯狂的事情?我在这里错过了什么吗?如果我通过 sed 传递相同的正则表达式,我会得到预期的结果:

echo $PS1 | sed "s/$search//g"
\[\033]0;[\h] \w\007\](\u@\h)-(\t)-(\w)$(git_branch)\n$
Run Code Online (Sandbox Code Playgroud)

bash variable-substitution

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

Ubuntu 无法找到或检测到新的有线网络适配器

我想在我的机器上使用两个以太网卡。所以我已经将新的以太网卡物理插入到我的机器中。但是,当输入ifconfig -a命令时 Ubuntu 无法找到或检测到新设备。因此,我尝试以通常的方式启动新设备,但收到错误消息:

ifconfig eth1 up
eth1: error fetching interface information: Device not found
Run Code Online (Sandbox Code Playgroud)

这是我输入ifconfig -a命令的时候

eth0      Link encap:Ethernet  HWaddr 00:17:31:53:b7:9c  
  UP BROADCAST MULTICAST  MTU:1500  Metric:1
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000 
  RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
  Interrupt:17 Memory:cffe0000-d0000000 

lo        Link encap:Local Loopback  
  inet addr:127.0.0.1  Mask:255.0.0.0
  inet6 addr: ::1/128 Scope:Host
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:2249 errors:0 dropped:0 overruns:0 frame:0
  TX packets:2249 errors:0 …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu

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

无法通过 ssh 连接到转发端口

我有两台服务器。服务器 1 可以访问我有权访问但不能通过 SSH 登录的服务器上的 Oracle 实例。我想使用 SSH 端口转发从服务器 2 连接到服务器 1,再从那里连接到 Oracle 实例。我已经设置了GatewayPorts=yesAllowTcpForwarding=yes但我仍然觉得有些不对劲。

出于这个问题的目的,我只想专注于从服务器 2 端口从 16951 向前连接到服务器 1(端口 5432)上的 postgres 实例。

运行后:

ssh -L 16951:localhost:5432 server1 -nNT -f -g
Run Code Online (Sandbox Code Playgroud)

从服务器 2,我可以"localhost.16951"在运行netstat检查打开的端口后看到,这使我相信该端口正在成功侦听。

当我运行时:

psql -U jbarton -p 16951
Run Code Online (Sandbox Code Playgroud)

我收到一条消息说没有监听端口 localhost:16951

    psql: could not connect to server: No such file or directory
     Is the server running locally and accepting
     connections on Unix domain socket "/tmp/.s.PGSQL.16951"?
Run Code Online (Sandbox Code Playgroud)

非常感谢任何意见、答案或建议。

更新

当我现在使用 oracle 尝试此操作时,使用连接:./sqlplus W_USER/password@//localhost:16951/dbname …

ssh postgresql forwarding

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

不能 ssh 到 beaglebone?

我做了之后:

route add default gw 192.168.7.1
Run Code Online (Sandbox Code Playgroud)

我也改变了/etc/resolv.conf

nameserver 192.168.7.1
Run Code Online (Sandbox Code Playgroud)

为了在VMware中的Ubuntu之间共享互联网。我有互联网工作,但重新启动后,我永远ssh无法从任何主机访问 beaglebone。(Win7 或 Ubuntu)。SSH 不会返回任何消息。

在 beagblebone 上,默认值为nameserver 127.0.0.1. 此外,该命令route返回:

Destination     Gateway     mask             Flags  Ref  Use  Iface
192.168.7.0     0.0.0.0     255.255.255.252  U      0    0    usb0
Run Code Online (Sandbox Code Playgroud)

ifconfig 返回:

usb0 net addr:192.168.7.2 Bcast:192.168.7.3
Run Code Online (Sandbox Code Playgroud)

在主机上(win7):

ipv4 addr: 192.168.0.110, ipv4 default gw 192.168.0.1
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 上ifconfig返回:

etho 192.168.179.129 Bcast:192.168.179.255
Run Code Online (Sandbox Code Playgroud)

我还从启动时禁用了 GNOME,也许它会关闭一些默认配置?resolv.conf每次系统启动时,该文件都会重置。

networking ubuntu routing ip dhcp

4
推荐指数
1
解决办法
5119
查看次数