我想编写一个 shell 脚本,它将附加到一个命名的 tmux 会话,在该会话中选择一个窗口(或窗格)并在该选定的窗口(或窗格)中运行一个命令。
如何从 bash 脚本执行此操作?
我知道
tmux new-window -n:mywindow 'exec something'
Run Code Online (Sandbox Code Playgroud)
允许我向新创建的窗口发送命令,但我需要类似的东西
tmux select-window -t:0 'my command'
Run Code Online (Sandbox Code Playgroud)
我想我可以使用,send-keys但似乎应该有一些需要运行的命令或命令列表。
有没有一种聪明的方法来执行复制和移动操作或命令来复制文件,而不必在同一文件夹中执行cd, 然后mv在之后?
例如,我必须运行以下命令:
mv /folder1/folder2/folder3/file.txt /folder1/folder2/folder3/file-2013.txt
Run Code Online (Sandbox Code Playgroud)
请注意,我将文件移动到的目录是相同的,但我必须再次放置整个路径,有时会很烦人。我很想知道是否有另一种方法可以做到这一点而不必再次放置整个路径,因为操作将在同一路径中完成。
我知道该>符号用于命令行中的输出重定向,但我无法找到解释2>&1命令行中使用的内容。例如:
curl http://www.google.com > /dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud) 为什么有些系统用户将/usr/bin/false作为他们的 shell,这是什么意思?
有没有一种简单的方法可以让特定命令(只能通过 终止Ctrl-C)自动运行 5 分钟?
例如:
minute-command 5-minutes ping www.google.com
Run Code Online (Sandbox Code Playgroud)
或任何其他不会自行终止的命令。
我希望能够指定一个时间限制,而不仅仅是 5 分钟。
我对 bash 很满意,但最近我换了一个我不知道的替代品。
<(command)bash究竟是什么?它与=(command)zsh中的相比如何?
我知道这与默认文件描述符有关。在我的电脑里
echo <()
Run Code Online (Sandbox Code Playgroud)
Returns /proc/self/fd/11,我发现它是脚本 STDOUT 的副本,但这对我来说似乎仍然很混乱。
我使用 Linux 和 Mac,我很快就会教授一些命令行的东西。
我可以在 Windows 上安装什么来给我一个最类似于基本 Mac/Linux Bash shell 的终端窗口?
如果可能,我也希望能够定义 .bash_aliases。
我有一组存储库根据它们的 VCS(Git、Mercurial、SVN)分类到目录中。使用 Subversion 我能够svn update *在父目录中运行,它会遍历每个目录并按预期更新每个存储库。对于 Git 或 Mercurial 而言,情况并非如此。
我想拿出一个bash脚本,我可以运行通过目录和要么做到这些,循环git pull或hg pull在每个。我只是没有太多的 bash 脚本经验。
我正在寻找一个 Linux 命令,该命令可以将属于给定用户的所有文件的所有权(最好在目标目录中)更改为另一个指定用户。
我梦想中的命令看起来像这样......
chuser -R --olduser tom --newuser jerry
Run Code Online (Sandbox Code Playgroud)
或者
chuser -R --olduser 1066 --newuser 1492
Run Code Online (Sandbox Code Playgroud)
这是我的场景...我有一个备份文件 (.tgz),其中保存了用户和组信息。它取自运行 Apache 和 MySQL 的 Web 服务器。备份中的文件来自整个系统,包含来自多个不同用户和多个系统类型帐户的文件,关键是在新服务器上恢复时,设置不会丢失。问题是正在恢复文件的机器上的用户与备份文件中的用户不匹配。例如,两台机器都有一个 MySQL 用户,但它们有不同的用户 ID,并且两台机器上存在多个属于不同用户的用户 ID。这意味着无法将新机器上的用户同步到旧机器上的用户。
我可以使用 find 命令找到所有用户文件,如下所示...
find /decompressed-backup-dir -uid 1050
Run Code Online (Sandbox Code Playgroud)
或者
find /decompressed-backup-dir -user tom
Run Code Online (Sandbox Code Playgroud)
如果,正如我怀疑的那样,没有办法用单个命令做我想做的事,那么也许有一种方法可以将 find 命令的结果通过管道传输到另一个命令来处理所有权更改?
我可以用 PHP 脚本来做到这一点,但备份中有 4GB 和数万个文件,所以我不想使用 PHP 或 Perl,但我会对可以处理它的 shell 脚本感到满意。
shell ×10
bash ×5
linux ×5
command-line ×3
script ×2
bash-alias ×1
boot ×1
macos ×1
redirection ×1
terminal ×1
tmux ×1
ubuntu ×1
uefi ×1
virtualbox ×1
windows ×1
zsh ×1