无法使用 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 获取变量?
在 bash 中,我们可以向后或向前移动 1 个单词或字符。是否有任何选项可以让我将光标移动到我指定的前一个字符,例如 Forward Slash。? 类似于fvim 中的击键,它搜索先前出现的以下字符?
如何在一个命令中在文件夹中创建多个子文件夹。
例如,我想创建:
/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)
这项工作是,但我无法实施该解决方案。我只需要使用一个命令。
你能给我解答这个麻烦吗?
我在 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”所做的那种重写公式。
我将如何做这个例子?
我愚蠢地设法删除了我/root在 CentOS 上的文件夹。我重新创建了一个空的 /root 文件夹并为其设置了 root 权限,但是现在我在 PuTTY 中的 shell 字符串不同了。
以前是说[root@servername ~]$,现在只是说-bash-4.1#。
发生了什么事?我删除了里面重要的东西/root吗?如何恢复以前的字符串?
有了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)
但是这个命令不够灵活。我更喜欢批量重命名?所有文件。
这个问题与已经提出的问题有关如何将文本添加到文件开头
丹尼斯威廉姆森建议的答案可以完成这项工作:
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...不做这项工作。
我正在为用户编写一个小的 GUI 程序来编辑他们自己的帐户。您不能以普通用户身份运行 usermod,我正在寻找这种功能。
更改用户全名是最重要的。任何其他帮助或信息也会很棒。
这些(几乎相同)目录命令之间有什么区别吗?
1. cd
2. cd ~
3. cd ~/
Run Code Online (Sandbox Code Playgroud)
我在我的 shell 中尝试过,它们都指向主目录。是否有任何可能的情况,它们是不同的?
bash ×10
linux ×8
shell ×2
ssh ×2
cat ×1
command-line ×1
dir ×1
echo ×1
mkdir ×1
networking ×1
performance ×1
putty ×1
readline ×1
rename ×1
speed ×1
ubuntu ×1
ubuntu-10.04 ×1
vi ×1