私はユーザー入力を変数に格納するbashスクリプトを持っています!私は、ファイル内のいくつかのパターンを検索するためのawkコマンドを使用します。スクリプトでawkコマンドをBashスクリプトで使用するには?
#!/bin/bash
echo "Enter Data"
echo "Enter first pattern"
read firstpat
echo "Enter number"
read num1
echo "Enter name"
read name1
echo "Enter second pattern"
read secpat
echo "Enter second number"
read num2
echo "Enter name
read name2
awk '$0 >= "$firstpat $num1:$name1" && $0 <= "$secpat $num2:$name2"' /dir1/file1
すべてが正常に動作しますが、awkコマンドは、すべての結果を表示しません。ファイルの代わりに変数なしで同じawkコマンドを端末で実行すると、それは動作します!
はawkスクリプト内でシェル変数にアクセスしようとしていることで、単に間違っている、それはファイルでそれが動作よりも良く、端末では動作しません。端末で動作するコマンドを実行している場合は、そのコマンドではありません。 awkはシェルではありません。http://cfajohnson.com/shell/cus-faq-2.html#Q24を参照してください。 –
@EdMortonが変数なしで実行されています! –
それでは明らかに同じコマンドではないので、それはなぜですか?あなたの疑問を混乱させるだけの赤い豚肉を追加する。誤った方向で真実を述べるというあなたの質問は、人々があなたがどのような問題を抱えているのかを把握して修正するのをより困難にするでしょう。 "Command Yはなぜ動作しないのですか?" 「コマンドYは環境Aでは動作しますが、環境Bでは動作しないのはなぜですか?」とはまったく異なる質問です。 –