シェルスクリプトは man コマンドを実行できません。

シェルスクリプトは man コマンドを実行できません。

コマンドを実行してスクリーンショットを撮るスクリプトがあります。 manファイルを表示してスクリーンショットを撮りたいです。私のスクリプトはコマンドでのみ動作しますが、コマンドの前に「man」を追加すると、「manコマンドが見つかりません」というエラーが発生します。

try(){
   clear
   timeout 0.2 $1 
   re=$?
   echo trying $1>>log.txt
   echo result is $re>>log.txt
   if [ ! $re -eq 127 ]; then
       sleep 0.2
       import -window osboxes@osboxes:~/Downloads/Parser\ Project\Code/iteration\ 3 iter3/$1.png
       echo $1 captured>>log.txt
   fi
}
try man\ AB
try man\ ABRT\-ACTION\-ANALYZ
try man\ ABRT\-ACTION\-ANALYZ
try man\ ABRT\-ACTION\-ANALYZ

...など

コマンドのリストは長いですが、すべてシステムに存在します。

また、次の場合:

たとえば、ABRT-ACTION-ANALYZを試したりABを試したりすると、コマンドを見つけて動作しますが、もちろんmanファイルは表示されません。

なぜ私はmanファイルを別の方法で見ないのか尋ねないでください。私はこのスクリプトを操作する方法を尋ねます。

これは人間の道の問題でしょうか?

答え1

問題は、manコマンドが画面に情報を表示する方法によって発生する可能性があります。マンページを画面に表示すると、この問題を解決できます。

man -P cat <command name>

つまり

try man\ \-P\ cat\ ABRT\-ACTION\-ANALYZ

答え2

     try(){
  clear
timeout 0.2 man -P cat $1 
re=$?
echo trying $1>>log.txt
echo result is $re>>log.txt
if [ ! $re -eq 127 ]; then
    sleep 0.2
    import -window osboxes@osboxes:~/Downloads/Parser\  Project\Code/iteration\ 3 iter3/$1.png
    echo $1 captured>>log.txt
fi

}

関連情報