我正在运行 Mac 并希望过滤top特定进程的命令输出,以便仅显示 PID、COMMAND 和 %CPU 列。
获得进程的PID后,我运行:
top -pid 1234
Run Code Online (Sandbox Code Playgroud)
但是,这会为该过程显示超过 15 列。我可以将“命令”的输出通过管道传输到 awk 并仅显示:
PID COMMAND %CPU
Run Code Online (Sandbox Code Playgroud)
列?
我不想将输出存储在文本文件中然后对其进行处理。我对实时监控流程很感兴趣。
每次我尝试找出如何执行此操作时,我都会找出如何在 linux 上执行此操作,但它不会传输。如何使用 Mac Terminal Bash 连接到 WiFi 网络?
我想在网站上按下按钮时启动 bash 脚本。这是我的第一次尝试:
<button type="button" onclick="/path/to/name.sh">Click Me!</button>
Run Code Online (Sandbox Code Playgroud)
但没有运气。有什么建议?
编辑 -遵循 slhclk 和 mit 的建议:
我在 /var/www 中有一个 php 文件,我将其指向我的网络浏览器。文件内容如下:
<?php
exec("/home/aa/scripts/test.sh");
?>
Run Code Online (Sandbox Code Playgroud)
tesh.sh 包含以下内容:
screen -S server1 -X quit
Run Code Online (Sandbox Code Playgroud)
如果我输入/home/aa/scripts/test.shshell,脚本就可以执行。但是,当我将网络浏览器指向http://example.com/screen.php(其中包含上面的代码)时,我看到一个空白页面并且脚本没有执行。两者都有执行权限。为什么不起作用?
当您在 bash 中使用大括号扩展时,类似
echo {a,b,c}
Run Code Online (Sandbox Code Playgroud)
变成
echo a b c
Run Code Online (Sandbox Code Playgroud)
有没有办法将其扩展为 3 个单独的命令,每个扩展一个?
以便:
echo {a,b,c}
Run Code Online (Sandbox Code Playgroud)
会成为
echo a
echo b
echo c
Run Code Online (Sandbox Code Playgroud) “Shell”和“Bash”有什么区别,这些术语是什么意思?
据我所知,没有区别。但是我看过很多关于“Shell”的书和其他关于“Bash”的书!
因此,如果我想在 Mac OS X 上使用终端并编写一些 bash 脚本,我想知道我应该阅读哪种类型的书。
我刚开始使用 zsh,并且喜欢它。但是,当涉及到国际角色时,我偶然发现了一个烦恼:
? ~ touch åäö.txt
? ~ ls
Desktop Dropbox Music Sites
Documents Library Pictures a??a??o??.txt
Downloads Movies Public
? ~ rm -v a<030a>a<0308>o<0308>.txt
åäö.txt
? ~
Run Code Online (Sandbox Code Playgroud)
使用 bash,它看起来像这样(在两种情况下,文件名rm -v都是通过按自动完成的TAB)。
johan@retina ~ $ touch åäö.txt
johan@retina ~ $ ls
Desktop Dropbox Music Sites
Documents Library Pictures åäö.txt
Downloads Movies Public
johan@retina ~ $ rm -v åäö.txt
åäö.txt
johan@retina ~ $
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题zsh?
编辑:
设置export LANG=en_US:UTF-8修复了 eg 的输出,ls并在TAB完成时有多个匹配项时在当前输入下方的行上正确显示它。但是,从TAB …
假设我有一个脚本。
chmod +x myscript
Run Code Online (Sandbox Code Playgroud)
现在运行这个我去
./myscript
Run Code Online (Sandbox Code Playgroud)
但是有什么办法可以通过输入来运行它
myscript
Run Code Online (Sandbox Code Playgroud)
???
我需要获取机器的 IP 并在我的服务中使用它:
[Unit]
Description=Redmine server
After=syslog.target
After=network.target
[Service]
Type=simple
User=redmine
Group=redmine
ip="$(/sbin/ip -o -4 addr list eno16777736 | awk '{print $4}' | cut -d/ -f1)"
ExecStart=/usr/bin/ruby /home/redmine/redmine/bin/rails server webrick -e production -b $ip -p 3000
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
如何在systemd服务文件中执行此命令并获取其结果:
ip=$(/sbin/ip -o -4 addr list eno16777736 | awk '{print $4}' | cut -d/ -f1)
Run Code Online (Sandbox Code Playgroud)
为了使用它的结果 infor xxx.xxx.xxx.xxx,像这样:
ExecStart=/usr/bin/ruby /home/redmine/redmine/bin/rails server webrick -e production …Run Code Online (Sandbox Code Playgroud)