でbashスクリプトを実行できませんzsh
。スクリプトは以下のスクリプトに似ており、bashで実行されることになっています。
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
ただし、私のシェルはデフォルトでzsh
にあるので、上記のスクリプトを実行するには/bin/bash
、zsh
プロンプトで次のように入力し、を実行し. script.sh
ます。
ただし、これによりエラーが発生し、次のエラーが発生します。
zsh: no matches found: [0-9]+
(235234
代わりに取得する必要があります)。
この時点で私は混乱しており、次の質問があります。
- にいる場合
bash
、なぜエラーが報告されるのzsh
ですか? - なぜ
egrep
正規表現が失敗するのですか?正規表現は私には正しいようです。
注:必要に応じて、スクリプトを変更することは想定していません(スクリプトは複数のユーザーによって共有されており、変更を加えることは想定されていません)。
ありがとう
exec zsh
に、私に~/.bashrc
はもも~/.profile
ありません(.profile
ホームディレクトリにさえありません)。zsh
デフォルトのシェルをどうやって作成したか思い出せません。また、混乱してしまい申し訳ありませんが、私のスクリプトの最初の行はシバン#!/bin/bash
です。これでも、ファイルのソースが機能zsh
しない理由はまだわかりません(これについて何か考えがある場合は、私に知らせてください)。どちらの場合も、引用符を正規表現に追加するためにスクリプトを更新するよう管理者に連絡します。