使用 BASH,您可以使用向上箭头键获取最后一个命令(通过 PuTty 终端连接时)。
例如,我想知道是否有办法“自动完成”我从邮件开始的最后一个命令。
例如,在谷歌浏览器中,地址栏的工作方式是从您之前的网络历史记录中缩小您尝试访问的网站。
所以我想要做的是开始输入“邮件”,然后例如按 UP 键,最后一个以邮件开头的命令会自动完成。如果我再次按下,则以邮件开头的第二个命令会自动完成。
这在 BASH 中可能吗?
通过ssh执行bash脚本时ssh有什么办法可以指定远程主机上的工作目录吗?这样 bash 脚本就可以在其中使用相对路径而不是绝对路径。下面的例子似乎不起作用。请帮忙,谢谢。
远程主机上的 bash 脚本示例:
./executable -o arg1 -i arg2
Run Code Online (Sandbox Code Playgroud)
在本地发送命令的示例:
ssh id@remote.hostname '/path/to/script/myscript.sh'
Run Code Online (Sandbox Code Playgroud) 使用find命令时如何获取文件名?当我使用 find 命令从目录和子目录中搜索特定类型的文件时,我得到了该文件的整个路径,我如何只得到文件名?我面临的问题是当我将找到的文件移动到存档目录时,它说“没有这样的目录”,这是因为我在搜索文件时得到了整个路径。
当我运行一些 bash 命令时,它返回2..n文本行(n每次都不同,可能包含空行)。
如何过滤输出以显示跳过第 1 行和第 2 行的结果?
例如
$ my_command
file1
file2
file3
file3
$ my_command | some_filter
file3
file4
Run Code Online (Sandbox Code Playgroud) 将文件的最后一部分路径存储在变量中?
我有路径,例如:-
$1=/path1/path2/path3
我想存储path3在变量中
x=path3
我如何做到:- 1-windows 2-unix
有没有办法找出谁在给定机器名称的情况下登录到网络上的另一台 Linux 机器,而不仅仅是 SSH 进入该机器并运行who?我更喜欢直接在 python 中使用的方法,但通过命令就可以了。
我正在尝试开发一个脚本来自动在我的服务器上设置一个新的虚拟主机域,我在我的服务器上有一个自定义设置,它为每个域提供用户名和密码,但没有外壳访问权限。(这是使用系统用户对 vsftpd 所做的)它还在 /var/www/sites/"domainname.com" 中创建一个目录,其中包含所有默认文件。然后为虚拟主机创建了一个 /etc/apache2/sites-available/domaindname.com Apache Conf 文件。这个脚本出错了,但看起来好像完成了所有事情。不过,我希望错误消失。
#!/bin/bash
#\
args=("$@")
# Copy Site Hosting Directory
cp -a /var/www/sites/skeleton /var/www/sites/${args[0]}
# Copy Apache Config File
cp -a "/etc/apache2/sites-available/skeleton" "/etc/apache2/sites-available/$1"
# Replace 'skeleton' with '$1' in config file
sed -i "s/skeleton/$1/g" /etc/apache2/sites-available/$1
# Create User
useradd -d /var/www/sites/$1 -s /usr/sbin/nologin $1
chown -R $1:www-data /var/www/sites/$1
chmod -R 0775 /var/www/sites/$1
# Set new password for user
exec expect -f $0 ${1+"$@"}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0] …Run Code Online (Sandbox Code Playgroud) 我想编写 bash 文件执行以下步骤:-
将文件复制server1到server2
如果(复制成功)
没做什么
如果(复制失败)
发送admin@company.com包含以下信息的电子邮件
文件名 [复制失败]
我正在尝试在 shell 脚本中使用 SCP 传输一些文件,但在远程计算机上提示我输入密码。
我可以使用 expect 和 scp 来输入密码,这样我就不必一直输入密码了吗?