小编use*_*976的帖子

在 shell 脚本中使用字符串操作删除字符串的最后一个字符

我想删除字符串的最后一个字符,我尝试了这个小脚本:

#! /bin/sh 

t="lkj"
t=${t:-2}
echo $t
Run Code Online (Sandbox Code Playgroud)

但它打印“lkj”,我做错了什么?

string shell-script

244
推荐指数
11
解决办法
58万
查看次数

pwd 和 /bin/pwd 之间的奇怪区别

我添加了一个符号链接到当前目录ln -s . aa。如果我执行cd aa,然后我执行pwd,响应是/home/sim/aa

但是如果我执行/bin/pwd它会打印/home/sim(当前目录没有改变)。

这种差异从何而来?

shell symlink pwd

17
推荐指数
2
解决办法
5682
查看次数

如何不在shell脚本中用echo(和wc)打印新行?

我已经完成了这个脚本:

#! /bin/sh  
path="foo" 
while touch $path ; do 
    path=./${path} 
done 

echo "echec avec le nom $path qui fait" 
echo $path|wc -c 
echo "caracteres"
Run Code Online (Sandbox Code Playgroud)

如何在同一行打印 3 条回声线?

shell-script

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

`ls -c` 和 `ls -t` 之间的区别

Unix 命令的-c-t选项有什么区别ls?以及如何使用ls命令按创建日期排序?

ls timestamps files

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

使用 who 命令识别传出连接 (ssh)

ssh 连接后,如果我who command在服务器上运行:我有这个响应:

olivia@olivia-pc:~$ who
olivia   :0           2014-09-08 11:40 (:0)
olivia   pts/0        2014-09-08 11:43 (:0)
olivia   pts/10       2014-09-08 13:54 (sim.local)
Run Code Online (Sandbox Code Playgroud)

因此很容易识别传入连接(第三行)。

如果我who command在客户端上运行:我有这个回应:

who
sim      :0           2014-09-04 16:30 (:0)
sim      pts/10       2014-09-08 13:49 (:0)
sim      pts/0        2014-09-08 13:46 (:0)
Run Code Online (Sandbox Code Playgroud)

所以我认为传出连接是第二行,因为它出现在我用 连接到服务器之后ssh,但我不明白为什么在我who关闭连接之后运行时它仍然存在(直到我离开终端)。

所以我的问题是:

1)它真的是代表传出连接的第二行吗?为什么?

2) 为什么在我离开终端之前它仍然可见,即使我关闭了连接?

3)如果传出连接是第二行,正如我所说的那样,服务器和客户端是否使用相同的伪终端号?

ssh who

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

为什么当我在本地主机上使用 tcpdump 侦听我的 ftp 端口时看不到数据包?

我正在通过 Iceweasel 或终端(使用命令ftp)访问我的 localhost ftp 服务器,同时使用以下命令侦听 ftp 端口

sudo tcpdump -vv -A 'port 20'
Run Code Online (Sandbox Code Playgroud)

或者

sudo tcpdump -vv -A port ftp
Run Code Online (Sandbox Code Playgroud)

但是虽然连接已经建立,但没有打印任何内容。

我究竟做错了什么?

ftp tcpdump

2
推荐指数
1
解决办法
3126
查看次数

标签 统计

shell-script ×2

files ×1

ftp ×1

ls ×1

pwd ×1

shell ×1

ssh ×1

string ×1

symlink ×1

tcpdump ×1

timestamps ×1

who ×1