で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しない理由はまだわかりません(これについて何か考えがある場合は、私に知らせてください)。どちらの場合も、引用符を正規表現に追加するためにスクリプトを更新するよう管理者に連絡します。