スクリプトの行数を取得する方法を教えてください。
PID_COUNT = 'cat /david/file1/test.sh | wc -l '
動作せずに「illegal -l」エラーが表示されます。
答え1
/david/file1/test.sh
使用中の行数を数えたい場合
wc -l </david/file1/test.sh
/david/file1/test.sh
実行中に生成された行数を数えるには、次のようにします。
/david/file1/test.sh | wc -l
変数に保存するには:
line_count=$( wc -l </david/file1/test.sh )
または
line_count=$( /david/file1/test.sh | wc -l )
ファイルまたはスクリプトの出力から行数を計算するかどうかによって異なります。
コマンドには2つのエラーがあります。PID_COUNT = 'cat /david/file1/test.sh | wc -l'
- 作業の周りにスペースがあってはいけません
=
。 - 変数は
PID_COUNT
コマンドの出力ではなく文字列です。これは一重引用符が原因で発生します。コマンドの出力をキャプチャするには、$( ... )
上記のように使用します。
どちらの場合も、エラーは「illegal -l」ではなく「PID_COUNT:コマンドが見つかりません」である可能性があります。