我有一个AIX生产服务器,上面运行着一个脚本A.sh
。
我没有此服务器的root访问权限。
我想找出此A.sh
脚本的参数传递值。
我如何获得该值?
/proc/processID
内有任何规定吗?
以下内容无效。我尝试生成一个脚本:
echo "Hello $1 $2 $3"
while [ 1 ]
do
sleep 2
echo $$
done
然后我通过
运行此脚本test.sh 1 2 3
输出:
$ cat /proc/3107/cmdline
-bash$
根据我期望的@Cyrus建议的建议
1 2 3
这些是我传入的参数,但它不能那样工作。
答案 0 :(得分:1)
您可以尝试:
cat /proc/PROCESSID/cmdline
答案 1 :(得分:1)
这应该有效:
cat /proc/3107/cmdline | tr '\0' ' ';
或者,您可以使用:
ps -ef | grep script.sh | grep -v grep
其中script.sh
是您现在正在运行的脚本的名称。
验证步骤:
创建一个名为script.sh的脚本,并将以下代码粘贴到其中:
#!/bin/bash
while :
do
echo "Press [CTRL+C] to stop.."
sleep 1
done
保存文件(vi编辑器中的:wq!
)。
通过
使其可执行chmod a+x script.sh
通过发出如下命令行选项来运行脚本:
./script.sh var1 val1 var2 val2 var2 val4
打开另一个终端(重复的会话)并发出:
ps -ef | grep script.sh | grep -v grep
您应该能够看到以下内容:
username 12227 2268 0 07:48 pts/98 00:00:00 /bin/bash ./script.sh var1 val1 var2 val2 var2 val4 var4