标签: bash

无法使用 ssh 获取配置文件变量

无法使用 ssh 检索配置文件变量。

server2 ==> 用户 apptst ==> bash 配置文件有 $APPHOME 变量。

试图使用 ssh 从 server1 检索值但失败。

下面使用的选项

server1> ssh apptst@server2 'echo $APPHOME'

server1> ssh apptst@server2 echo '$APPHOME'

server1> ssh apptst@server2 echo "$APPHOME"

server1> ssh apptst@server2 "echo $APPHOME"
Run Code Online (Sandbox Code Playgroud)

尝试时

server1> ssh apptst@server2 ls -ld $APPHOME
Run Code Online (Sandbox Code Playgroud)

它工作正常。

有什么建议缺少什么以及如何从 server2 获取变量?

linux ssh bash environment-variables

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

Bash readline 将光标移动到上一个正斜杠

在 bash 中,我们可以向后或向前移动 1 个单词或字符。是否有任何选项可以让我将光标移动到我指定的前一个字符,例如 Forward Slash。? 类似于fvim 中的击键,它搜索先前出现的以下字符?

linux bash vi readline

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

vnstat:将当前网络活动打印到文件

如何将输出打印vnstat -l到文件?我试过的:

vnstat -l &> file
Run Code Online (Sandbox Code Playgroud)

但它只是挂断了

networking linux bash ubuntu

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

如何创建多个文件夹?

如何在一个命令中在文件夹中创建多个子文件夹。

例如,我想创建:

/home/user/*create dir1*/*create dir2*/*create dir3*/
Run Code Online (Sandbox Code Playgroud)

前提是我没有 dir1。而且我不能使用 3 命令,也不能使用 shell 脚本。此创建必须在一个 shell 命令中。

$ mkdir /home/user/TEST1/TEST2/TEST3/
Run Code Online (Sandbox Code Playgroud)

不起作用,没有这样的文件错误。如果

$ mkdir /home/user/TEST1/
$ mkdir /home/user/TEST1/TEST2/
$ mkdir /home/user/TEST1/TEST2/TEST3/
Run Code Online (Sandbox Code Playgroud)

这项工作是,但我无法实施该解决方案。我只需要使用一个命令。

你能给我解答这个麻烦吗?

linux bash shell dir mkdir

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

Bash 重写屏幕的最快方法

我在 Mac OS X 和 Lubuntu 上使用 bash。当我制作控制台应用程序时,一件烦人的事情是

clear
Run Code Online (Sandbox Code Playgroud)

将向控制台添加一整行(x 行)。然后我重写屏幕,这既费时又低效。

相反,我正在寻找一种方法,使我的应用程序不会创建额外的行并重写当前显示的字符。(如“顶部”命令)

例如,我的应用程序需要使控制台左上角的数字尽快上升。

示例 #1:使用 clear

#!/bin/bash
for i in `seq 1 1000000`
do
    echo $i
    clear
done
Run Code Online (Sandbox Code Playgroud)

除了它“闪烁”,有时会挂起,浪费控制台空间,而且通常很难看之外,这会很棒。

示例 2:使用退格键

#!/bin/bash
echo -e "\033[8;5;10;t"
clear
echo -e -n "0"

for i in `seq 1 1000000`
    do
    echo -e -n "\b\b\b\b\b\b\b$i"
done
Run Code Online (Sandbox Code Playgroud)

这个运行起来就像一个魅力,不会产生额外的线条,而且速度很快,但它只能在小窗口中运行。

示例#3:使用“top”和“alsamixer”所做的那种重写公式。

我将如何做这个例子?

performance bash speed command-line

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

我不小心删除了我的 /root 文件夹,现在我的 shell 字符串不同了。是什么赋予了?

我愚蠢地设法删除了我/root在 CentOS 上的文件夹。我重新创建了一个空的 /root 文件夹并为其设置了 root 权限,但是现在我在 PuTTY 中的 shell 字符串不同了。

以前是说[root@servername ~]$,现在只是说-bash-4.1#

发生了什么事?我删除了里面重要的东西/root吗?如何恢复以前的字符串?

linux ssh bash putty

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

重命名文件名中的问号 (?)

有了rename它可以批量修改文件名。我设法+用这个命令摆脱了所有并用下划线替换它们:

rename 's/\+/_/g' * 
Run Code Online (Sandbox Code Playgroud)

我可以将普通字母如 a 更改为 A with。

rename 's/a/A/g' *
Run Code Online (Sandbox Code Playgroud)

但我不能重命名?,不是这样/\?也不是这样/?

有没有办法解决“?” 在文件名中?大多数 FTP 程序也无法重命名文件?。午夜指挥官失败。到目前为止,我发现有效的唯一方法是:

mv ?myfile.txt myfile.txt
Run Code Online (Sandbox Code Playgroud)

但是这个命令不够灵活。我更喜欢批量重命名?所有文件。

linux bash rename special-characters ubuntu-10.04

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

如何将一个文件的内容添加到另一个文件中

这个问题与已经提出的问题有关如何将文本添加到文件开头

丹尼斯威廉姆森建议的答案可以完成这项工作:

echo 'task goes here' | cat - todo.txt > temp && mv temp todo.txt

在上面,字符串task goes here被添加到文件的开头。

如果字符串task goes here在名为 的文件中myfile.txt,那么我应该如何更改命令?echo 'myfile.txt'...或者echo myfile.txt...不做这项工作。

bash cat echo

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

Bash 更改用户信息(如 usermod)但没有 root 权限

我正在为用户编写一个小的 GUI 程序来编辑他们自己的帐户。您不能以普通用户身份运行 usermod,我正在寻找这种功能。

更改用户全名是最重要的。任何其他帮助或信息也会很棒。

linux bash

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

几乎相同目录命令的区别

这些(几乎相同)目录命令之间有什么区别吗?

1. cd
2. cd ~
3. cd ~/
Run Code Online (Sandbox Code Playgroud)

我在我的 shell 中尝试过,它们都指向主目录。是否有任何可能的情况,它们是不同的?

linux bash shell

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