这不是一个常见的场景,但我发现自己不小心将命令插入到错误的终端中。我还没有损坏任何重要的东西;那么在我做之前,有哪些最好的方法可以区分本地和远程终端会话?
我有一个完整的文件路径相对于它自己的路径:
./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 命令是什么?
所以,在 CentOS 机器上,我不小心:w<Down>在vim编辑器中执行了“ <Down>”,实际上是按下键盘上的向下箭头键(在屏幕上呈现为“ <Down>”),现在我有一个名为“ <Down>”的文件,我看不到摆脱;运行“ rm <Down>”(字面意思是“小于、D、o、w、n、大于”)会出现语法错误。
我怎样才能摆脱这个名字时髦的文件?
在 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 连接到 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\#
我正在回显有关登录的各种机器统计信息,但这对于 SCP 和 SFTP 是有问题的,是否有我可以测试的 shell 变量?
我是我的 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 个错误。
我正在尝试将我的一些 shell 脚本的输出记录到一个文件中,并且我希望在每一行前面加上时间戳。据我了解,这就是logger(1)目的,但我不希望输出到 /var/log/messages,而且我看不出使用 logger 是可能的。顺便说一下,我正在使用 Debian。
做这个的最好方式是什么?
——奥利弗
我不小心运行了“chmod 775 -R /”而不是“chmod 775 -R ./”并更改了所有内容的权限,现在服务器坏了。
有谁知道我如何快速解决这个问题???
我们正在浏览器中设计一个 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这没有意义,但我希望我的观点对那些可以提供洞察力的人来说足够清楚。谢谢。)