2017-10-02 17 views
0

bashスクリプトの新機能です。お手伝いできれば幸いです。Bashスクリプト:整数引数付きの行数を比較する

私は整数引数を使ってファイル内の行を比較するスクリプトを作成しようとしています。

これまでのところ私はこれまで何を得ていますが、いくつか間違いを犯してエラーになります。

    #!/bin/bash 
       a="$1" 
       b="wc -l < /filepath/filename.txt" 
       if (($a < $b)); then 
       echo "file has more lines than integer" 
       else 
       echo "file has less lines than integer" 
       fi 

私が間違っている箇所を指摘できれば幸いです。

+0

どのエラーを指定しないかは、助けがたいです。 1つのことは間違っています:あなたが10を指定し、行数が10の場合(そしてすべての構文エラーは解決されます)、スクリプトは同じであっても "ファイルの文字数が整数よりも少ない"と言います。 – GolezTrol

+0

'b =" foo "'は文字列を割り当てています。 'foo'をコマンドとして実行しません。 –

+0

構文エラー:無効な算術演算子です。エラートークンは ".txt

答えて

1
b="wc -l < /filepath/filename.txt" 

は、代わりに次のようになります。

b=$(wc -l < /filepath/filename.txt) 

...あなたがそのコマンドを実行し、変数にその出力を保存したい場合。

+0

コミュニティ - wiki'dは、詐欺に答えることから担当者を収穫することを避ける –

関連する問題