相关疑难解决方法(0)

在 Bash 中,何时使用别名、何时编写脚本以及何时编写函数?

我用了将近 10 年的 Linux 才问出这个问题。这都是反复试验和随机深夜上网。

但是人们不应该为此需要10年。如果我刚开始使用 Linux,我想知道:何时使用别名、何时编写脚本以及何时编写函数?

就别名而言,我将别名用于不带参数的非常简单的操作。

alias houston='cd /home/username/.scripts/'
Run Code Online (Sandbox Code Playgroud)

这似乎很明显。但有些人这样做:

alias command="bash bashscriptname"
Run Code Online (Sandbox Code Playgroud)

(并将其添加到.bashrc文件中)

这样做有充分的理由吗?我真的很努力,但我真的想不出任何我想要这样做的情况。因此,如果存在会产生影响的边缘情况,请在下面回答。

因为那是我将一些东西放入我的 PATH 和chmod +x它的地方,这是经过多年 Linux 反复试验后出现的另一件事。

这让我进入下一个话题。例如,我.scripts/通过在我的.bashrc( PATH=$PATH:/home/username/.scripts/) 中添加一行,在主目录中添加了一个隐藏文件夹 ( ) 到我的 PATH ,因此那里的任何可执行文件都会自动自动完成。

如果我需要的话。

不过,我真的不需要那个,不是吗?我只会将它用于不是 shell 的语言,比如 Python。

如果是 shell,我可以在里面写一个函数.bashrc

funcname () {
  somecommand -someARGS "$@"
}
Run Code Online (Sandbox Code Playgroud)

正如我所说,我通过反复试验发现了很多。只有当我的电脑没电了,我才真正看到了功能之美,我不得不在周围人不使用它们的时候使用它们。

我没有将整个脚本目录从计算机移动到计算机,而是将其他人的 .bashrc 替换为我自己的,因为他们甚至从未进行过任何修改。

但我错过了什么吗?

那么,关于何时使用别名、何时编写脚本以及何时编写函数,您会告诉 Linux 初学者什么?

如果这不明显,我假设回答这个问题的人会使用所有三个选项。如果你只使用别名,或者只使用脚本,或者只使用函数——或者如果你只使用别名和脚本或别名和函数或脚本和函数——这个问题并不是真正针对你的。

bash alias shell-script function

399
推荐指数
9
解决办法
8万
查看次数

使用一个命令杀死多个正在运行的进程实例

假设我有任何进程(例如,vi)的一千个或更多实例正在运行。我如何在一次射击/一行命令/一个命令中将它们全部杀死?

process kill

97
推荐指数
5
解决办法
24万
查看次数

如何杀死给定名称的所有进程?

我运行命令ps -A | grep <application_name>并获取这样的进程列表:

19440 ?        00:00:11 <application_name>
21630 ?        00:00:00 <application_name>
22694 ?        00:00:00 <application_name>
Run Code Online (Sandbox Code Playgroud)

我想从列表中杀死所有进程:19440, 21630, 22694

我试过,ps -A | grep <application_name> | xargs kill -9 $1但它有错误。

kill: illegal pid ?
kill: illegal pid 00:00:00
kill: illegal pid <application_name>
Run Code Online (Sandbox Code Playgroud)

我怎样才能优雅地做到这一点?

grep process kill ps

35
推荐指数
2
解决办法
8万
查看次数

标签 统计

kill ×2

process ×2

alias ×1

bash ×1

function ×1

grep ×1

ps ×1

shell-script ×1