回答:
問題は、コマンドで出力を置き換える必要があるコマンドを示すために `マークが使用されることです。したがって、コマンドは実際には3つのコマンドです。
-1308741881は有効なコマンドではないため、コマンド#1は何も出力せず、コマンド#2は「コマンドが見つかりません」というエラーになります。
最後に、3番目のコマンドが実行され、これらの置換が次のようになります。
find . -mtime -date
また、「-date」は有効な時間ではないため、「不正な時間値」と言って文句を言う
根本的な問題は、ネストされた ``マークを使用しようとしていることです。これは、シェルが2つの別個のコマンドとして解釈するものです。
あなたが望むものを表現するより良い方法はこれです(bashの場合):
find . -mtime -$(echo $(date +%s-1308741881) | bc)s
cshの場合:
set now=`date +%s-1308741881`; set date=`echo $now | bc`s; find . -mtime -$date
そして、おそらく他のシェル(未テスト)の場合:
NOW=`date +%s-1308741881`; DATE=`echo $NOW | bc`; find . -mtime -${DATE}s
PS私はこれがあなたが期待することをしないと思います...あなたの日付コマンドは秒数を返しますが、-mtimeは入力として日数を期待します。おそらく、それに応じて日付コマンドを調整する必要があると思います。