标签: shell

如何区分本地终端和远程终端?

这不是一个常见的场景,但我发现自己不小心将命令插入到错误的终端中。我还没有损坏任何重要的东西;那么在我做之前,有哪些最好的方法可以区分本地和远程终端会话?

linux shell terminal

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

Linux/SSH 命令删除在文件中找到的每个文件路径

我有一个完整的文件路径相对于它自己的路径:

./Talent/152/Resume/a file name.pdf
./Talent/153/Resume/some file name.pdf
./Talent/154/Resume/yet another file name.pdf
... and so on ...
Run Code Online (Sandbox Code Playgroud)

遍历此文件中的每一行并将其删除的适当 shell 命令是什么?

linux shell

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

删除名称中带有 <Down> 的文件?

所以,在 CentOS 机器上,我不小心:w<Down>vim编辑器中执行了“ <Down>”,实际上是按下键盘上的向下箭头键(在屏幕上呈现为“ <Down>”),现在我有一个名为“ <Down>”的文件,我看不到摆脱;运行“ rm <Down>”(字面意思是“小于、D、o、w、n、大于”)会出现语法错误。

我怎样才能摆脱这个名字时髦的文件?

linux files shell command-line-interface

4
推荐指数
3
解决办法
259
查看次数

Unix将多个命令分开,最后有'&amp;'(在后台执行)

在 Unix 中分隔常规命令是将分号放在最后,如下所示:

cd /path/to/file;./someExecutable;
Run Code Online (Sandbox Code Playgroud)

但它似乎不适用于这样的命令:

./myProgram1 > /dev/null &
./myProgram2 > /dev/null &
=>./myProgram1 > /dev/null &;./myProgram2 > /dev/null &;
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些命令分开?

另外,如果我将粘贴复制到命令提示符,以下两种情况是否相同?谢谢。

cd /path/to/file;./someExecutable;

cd /path/to/file;
./someExecutable;
Run Code Online (Sandbox Code Playgroud)

linux unix shell bash shell-scripting

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

如何在 shell 脚本中对 rdesktop 密码参数进行编码?

我可以使用此脚本从 linux 连接到 windows RDP 会话:

#!/bin/bash
/usr/bin/rdesktop -N -x m -u Administrator -p secret123 -d DOMAIN1 127.0.0.1:33891
Run Code Online (Sandbox Code Playgroud)

(远程 Windows 服务器的 rdp 端口​​被安全地隧道连接到本地主机上的端口 33891)

但是这个脚本没有正确传输密码:

#!/bin/bash
/usr/bin/rdesktop -N -x m -u Administrator -p #secret$123# -d DOMAIN2 127.0.0.1:33892
Run Code Online (Sandbox Code Playgroud)

我必须如何对密码中的特殊字符进行编码?

我还想知道如果我选择 /bin/sh 作为脚本的 shell 是否会有所不同。

编辑:

我发现这有效:

\#秘密\$123\#

rdp shell bash unix-shell rdesktop

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

测试login是否是scp连接

我正在回显有关登录的各种机器统计信息,但这对于 SCP 和 SFTP 是有问题的,是否有我可以测试的 shell 变量?

linux shell bash scp

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

bash脚本-生成、发送、交互-找不到命令错误

我是我的 shell 脚本,我正在尝试删除scp命令的密码提示(如/sf/ask/32142771/#459225 中所示)这就是我到目前为止所拥有的:-

#!/usr/bin/expect
spawn scp $DESTINATION_PATH/exam.tar $SSH_CREDENTIALS':/'$PROJECT_INSTALLATION_PATH
expect "password:"
send $sshPassword"\n";
interact
Run Code Online (Sandbox Code Playgroud)

在运行脚本时,我收到错误

spawn: command not found
send: command not found
interact: command not found
Run Code Online (Sandbox Code Playgroud)

我也遇到了错误expect: command not found,然后我意识到路径expect不正确并且expect根本没有安装。所以,我做了yum install expect,更正了路径,错误消失了。但仍然无法消除其他 3 个错误。

linux shell bash

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

记录到文件,在每行前面加上时间戳(Debian)

我正在尝试将我的一些 shell 脚本的输出记录到一个文件中,并且我希望在每一行前面加上时间戳。据我了解,这就是logger(1)目的,但我不希望输出到 /var/log/messages,而且我看不出使用 logger 是可能的。顺便说一下,我正在使用 Debian。

做这个的最好方式是什么?

——奥利弗

scripting linux debian shell logging

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

不小心在 linux 服务器(RedHat)上运行了 chmod 775 -R /(不是 ./)

我不小心运行了“chmod 775 -R /”而不是“chmod 775 -R ./”并更改了所有内容的权限,现在服务器坏了。

有谁知道我如何快速解决这个问题???

linux redhat shell

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

如何捕捉任何shell输出?

我们正在浏览器中设计一个 shell,它将流式传输 shell 输出的所有内容。标准输出,标准错误,任何东西。

然而,正如这个小例子会向你展示的那样,

git clone https://github.com/joyent/node.git >./git.out 
cat ./git.out
Run Code Online (Sandbox Code Playgroud)

大部分输出没有提供给 ./git.out。这是小视频,如果你想看看发生了什么http://screencast.com/t/7zTdPfq7Pr7

我们需要像“top”、“git”这样的命令才能工作,有什么办法可以得到它们吗?

(输出到文件仅用于说明目的,我们会将每一行输出流式传输到另一个系统,我们知道top这没有意义,但我希望我的观点对那些可以提供洞察力的人来说足够清楚。谢谢。)

shell bash

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