shell脚本的详细输出

23 linux shell

我有一个非常简单的shell脚本,如下所示:

clear

for i in -20 -19 -18 -17 -16 -15 -14 ... 18 19  
do  
echo "Nice value is $i"  
nice -n $i ./app1   
done  
Run Code Online (Sandbox Code Playgroud)

基本上,我想运行一个应用程序,其中所有不同的优先级值介于-20和19之间.但是,执行此脚本时,它看起来如下所示:

Nice value is -20  
15916233  
Nice value is -19  
5782142  
....  
Nice value is 19  
5731287  
Run Code Online (Sandbox Code Playgroud)

但我想要一些详细的输出,也就是在终端上打印命令,使它看起来像这样

Nice value is -20  
nice -n -20 ./app1    
15916233  
Nice value is -19  
nice -n -19 ./app1   
5782142  
....  
Nice value is 19  
nice -n 19 ./app1   
5731287  
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?谢谢!

Bri*_*new 57

你没有说你正在运行什么样的shell.如果您正在使用sh/bash,请尝试

sh -x script_name

以详细/调试模式运行脚本.这将转储您执行的所有命令,变量值等.您不希望正常执行此操作,因为它将提供大量输出,但它可用于计算正在发生的事情.

  • 您还应该能够通过将-x放在#中来实现每次运行!线; 即脚本的第一行是:#!/ bin/bash -x (15认同)