Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中使用变量和多个pip?_Bash_Grep_Pipeline - Fatal编程技术网

在bash中使用变量和多个pip?

在bash中使用变量和多个pip?,bash,grep,pipeline,Bash,Grep,Pipeline,我正试图完成一个维护脚本,我正在赶上以下一行: PUID=$(ps aux | grep $PID | grep -v $USER| cut -d' ' -f1) 我试图从ps aux命令中提取一个特定的进程ID($PID)(同时忽略用户刚刚用相同的PID创建的进程),然后除去进程所有者的用户名以外的所有进程 目前,命令在命令行中运行时运行良好,但是我在将其分配给变量$PUID时遇到问题,甚至只是将其作为命令执行。有什么建议吗 编辑: 我正在努力解决这个问题,我相信传递变量$PID时仍然存在问

我正试图完成一个维护脚本,我正在赶上以下一行:

PUID=$(ps aux | grep $PID | grep -v $USER| cut -d' ' -f1)
我试图从
ps aux
命令中提取一个特定的进程ID(
$PID
)(同时忽略用户刚刚用相同的PID创建的进程),然后除去进程所有者的用户名以外的所有进程

目前,命令在命令行中运行时运行良好,但是我在将其分配给变量
$PUID
时遇到问题,甚至只是将其作为命令执行。有什么建议吗

编辑:

我正在努力解决这个问题,我相信传递变量$PID时仍然存在问题,现在它正在使用这行代码从一个文件(它正确地执行)中提取

PID=$(cat/nfs/pdx/home/komcconx/PID/current/PID)

如果我添加一个echo$PID,它将返回正确的PID

当我运行命令PUID=$(ps-p$PID-o uname=)时,我会得到一个错误,说“error:processid list syntax error”。如果我运行命令时$PID的位置是“1”,它会正确地返回“root”

有什么想法吗?”

最终编辑:


发现问题是PID是从DOS文件中提取的,我试图用DOS换行符运行命令,这个问题已经解决了

如果只需要进程的用户名,可以使用-o选项:

PUID=$(ps -p $PID -o uname=);
echo $PUID

哦,woops,当我试图集中精力让至少第一个grep工作、编辑时,我就有了它;请查阅您的本地手册页以了解您机器上的正确语法。不要使用旧的和过时的back tics,请使用以下括号:
PUID=$(ps-p$PID-o uname=)
(也不需要
结尾处)嘿,伙计们,我正在努力解决这个问题,我相信传递变量$PID时仍然存在问题,现在它使用这行代码从一个文件(它正确地执行)中提取嘿,伙计们,我正在尝试解决这个问题,我相信传递变量$PID时仍然存在问题,现在它使用这行代码从一个文件(它正确地执行)中提取PID=$(cat/nfs/pdx/home/komconx/PID/current/PID)如果我添加一个echo$PID,它将返回正确的PID。当我运行命令PUID=$(ps-p$PID-o uname=)时,我会收到一个错误,上面写着“error:Process ID list syntax error”。如果我运行命令时用“1”代替$PID,它会正确地返回“root”任何想法?@dustyblade在post中打印文件中的内容:nfs/pdx/home/komconx/PID/current/PID。