标签: bash

'at' 命令预期行为?启动每个命令而不是调度

我正在尝试安排一些程序的执行。我正在使用这个命令:

./tests.o | at 15:00&
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,预期的行为是将执行延迟到 15:00。但是,如果我在top启动上述命令后立即运行,我可以看到 test.o 已经占用了 CPU 时间。

由于我需要对共享资源启动多个测试,我想知道如何正确使用“at”?

我究竟做错了什么?

linux bash scheduled-tasks command-line at

7
推荐指数
1
解决办法
278
查看次数

如何在 git for windows 上安装 zsh

适用于 Windows 的 git带有一个带有bash的终端。

是否可以在其上安装某些东西,如果是,我如何在此终端上安装 zsh?

windows bash git

7
推荐指数
1
解决办法
3064
查看次数

安装 OhMyZSH 后找不到 ZSH npm/node/nvm 命令

在我的 Linux 机器上安装 OhMyZSH 后,之前安装的 nvm、node 和 npm 都没有找到。谢谢您的帮助。

这个命令“source ~/.nvm/nvm.sh”允许我让它工作,但是当我重新启动终端或打开新标签终端时说找不到命令......配置'~/.zshrc'文件:

# If you come from bash you might have to change your $PATH.
 export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
 export ZSH="/home/jurr/.oh-my-zsh"
Run Code Online (Sandbox Code Playgroud)

linux terminal bash zsh

7
推荐指数
1
解决办法
3万
查看次数

如何在 grepped 之后获得第 n 行?

考虑以下文本文件

one 1
two 2
three 3
four 4
five 5
six 6
seven 7
eight 8
Run Code Online (Sandbox Code Playgroud)

我想访问匹配后的第二行four。这将是这条线

six 6
Run Code Online (Sandbox Code Playgroud)

然后将生成的行(因此上面的行)通过管道进行进一步处理(例如 a | cut -d' ' -f2)。

有没有办法在 bash 和其他典型实用程序中做到这一点?(否则我会用 Python 编写它)

编辑:在我的特定情况下,four(以该示例为例)的发生保证是唯一的。但是答案显示了有趣的扩展案例,而事实并非如此。

linux bash grep command-line

7
推荐指数
4
解决办法
736
查看次数

如果输出重定向到标准输出,为什么 Bash 陷阱不起作用?

鉴于以下测试脚本:

#!/bin/bash

# see "killing timeout": https://unix.stackexchange.com/a/57692/65781
declare -a timeout_pids
my_timeout(){
    local args tp
    args="$@"
    timeout $args &
    tp=$!
    #echo "pid of timeout: $tp"
    timeout_pids+=($tp)
    wait $tp
}

cleanup(){
    echo "-----------------------------------------"
    echo "Restoring previous routing table settings"
}

pre_cleanup(){
    echo "Executing pre-cleanup..."
    exit
}

trap pre_cleanup INT
trap cleanup EXIT

echo "ctrl+c now to execute cleanup"
#my_timeout 9s sleep 20 2> /dev/null >/dev/null # <- does not work as expected!
my_timeout 9s sleep 20 2> /dev/null # <- works as …
Run Code Online (Sandbox Code Playgroud)

bash

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

在没有“嵌套”会话的情况下重新启动 zsh 进程

我想重新启动我的 zsh 会话,因为我保留了一个持久的 tmux 会话并且~/.zshrc经常更改并执行source ~/.zshrc. 但是我意识到随着时间的推移这会变慢(例如for i inseq 50; do source ~/.zshrc; echo "a"; done开始快速打印 'a' 并且很快变慢)。

我在这里阅读了重新启动 zsh 的建议,建议只需运行zshzsh -l. 但是,如果我这样做,我会创建一个“嵌套”zsh 会话,如果我理解正确的话。我的意思是:

# Simulate slowed zsh session
for i in `seq 50`; do source ~/.zshrc; echo "a"; done
# use zsh to make it faster "child" zsh
zsh
# confirm fast
source ~/.zshrc; # fast
# revert back to "parent" zsh
exit
# confirm old slow …
Run Code Online (Sandbox Code Playgroud)

terminal bash zsh shell tmux

7
推荐指数
1
解决办法
7029
查看次数

检查带空格返回的文件的磁盘使用情况

我想输出由find.

我的一个文件的名称中有空格,这导致du为其返回“没有这样的文件或目录”消息。

chris@chris-x1c6:/media/E/2Videos$ du -ch $(find . -maxdepth 1 -iname "*syed*")
du: cannot access './The': No such file or directory
du: cannot access 'Case': No such file or directory
du: cannot access 'Against': No such file or directory
du: cannot access 'Adnan': No such file or directory
du: cannot access 'Syed': No such file or directory
du: cannot access 'S01E01': No such file or directory
du: cannot access '1080p.WEB.H264-AMRAP.mkv': No such file or directory
4.0G    ./The.Case.Against.Adnan.Syed.S01E02.In.Between.the.Truth.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv …
Run Code Online (Sandbox Code Playgroud)

linux bash sed command-line

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

如何使用vim打开以加号开头的文件(例如+foo.out)?

在我的文件系统中,我有一些以加号开头的文件。当我尝试用 vim 打开它们时,会抛出错误。

例如,当输入...

vim +foo.out
Run Code Online (Sandbox Code Playgroud)

我收到以下错误...

Error detected while processing command line:
E492: Not an editor command: foo.out
Run Code Online (Sandbox Code Playgroud)

我可以看到 vim 认为既然有一个加号,我必须尝试运行某种命令,但因为它后面跟着一个文件名,所以它不知道该怎么做。关于如何解决这个问题并打开/编辑文件有什么建议吗?

bash vim command-line

7
推荐指数
1
解决办法
1620
查看次数

M1 Mac mini 和 Big Sur 的正确 Homebrew 安装命令是什么?

在为今天早上的 Time Machine 备份重新安装整个 M1 Mac mini、Big Sur 和迁移助手后,我在安装 Homebrew 时遇到了新错误:

\n
/bin/bash: line 156: /usr/local/bin/git: Bad CPU type in executable \n
Run Code Online (Sandbox Code Playgroud)\n

然后\xe2\x80\xa6

\n
Failed during: git init -q\n
Run Code Online (Sandbox Code Playgroud)\n

如果出现这些情况,我不认为需要采取行动。

\n

mac bash git

7
推荐指数
1
解决办法
6405
查看次数

如何在启动时分配处理器给进程

Linux 允许使用以下命令将处理器核心分配给正在运行的进程(即具有 pid):

taskset -pc core pid
Run Code Online (Sandbox Code Playgroud)

这假设该进程已经在运行,并且其 pid 可用,并且我们更改分配给它的核心。因此,下次进程在上下文切换或分时期间耗尽 CPU 时,将切换核心。

但是是否可以在进程运行时预先分配核心?据我所知,答案是否定的,但只是想向专家确认一下,以防万一我遗漏了什么。

(我曾在 stackoverflow/69250190 上问过这个问题,但建议我在这里发布这个问题。)

linux cpu bash ubuntu

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

标签 统计

bash ×10

linux ×5

command-line ×4

git ×2

terminal ×2

zsh ×2

at ×1

cpu ×1

grep ×1

mac ×1

scheduled-tasks ×1

sed ×1

shell ×1

tmux ×1

ubuntu ×1

vim ×1

windows ×1