gpt4 book ai didi

Bash 未绑定(bind)变量

转载 作者:行者123 更新时间:2023-12-04 08:46:40 36 4
gpt4 key购买 nike

我有一个脚本,里面有这个:

su - jenkins sh -c "ps xu | grep sneakers | grep -v grep | awk '{print $2}' | xargs -r kill"
这是我得到的错误:
line 10: $2: unbound variable
我想我可以通过更改 set -eu 来解决这个问题至 set -e在我的脚本的顶部。但是被你删除我得到了不同类型的错误:
kill: invalid argument c

Usage:
kill [options] <pid> [...]

Options:
<pid> [...] send signal to every <pid> listed
-<signal>, -s, --signal <signal>
specify the <signal> to be sent
-l, --list=[<signal>] list all signal names, or convert one to a name
-L, --table list all signal names in a nice table

-h, --help display this help and exit
-V, --version output version information and exit

For more details see kill(1).
我在这里没有用任何参数开始我的脚本,而且 awk 部分应该是本地的而不是全局的(如果你不知道的话,我不太了解 bash 范围)。
我该如何解决这个问题?

最佳答案

I got a script that has this in there :

blabalabl "blabla $2 blabla "


当然 - $2在双引号内,因此它正在扩展。一样的方法:
echo "$2"
展开 $2 .解决办法是逃跑 $2扩张。
sh -c "ps xu | grep sneakers | grep -v grep | awk '{print \$2}' | xargs -r kill"
但是整条线都很糟糕。不要 ps | grep | grep -v grep - 使用 pgrep为了那个原因。要在 linux 上杀死,你可能只是:
su - jenkins pkill sneakers

关于Bash 未绑定(bind)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64280144/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com