問題タブ [fish]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - unix: 文字列が正規表現に一致するかどうかを確認する方法
fish shellを試しているので、bash 関数を翻訳しています。問題は、あるケースでは、文字列が正規表現に一致するかどうかを確認するために bash 正規表現を使用していることです。これを魚に変換する方法がわかりません。
これが私の例です。
- sedを調べましたが、正規表現が一致するかどうかに基づいて終了ステータスを設定する方法がわかりません。
- Rubyへの委譲を検討しましたが、一致に基づいて設定された終了ステータスを取得するには、これを非常に醜くする必要があります (以下を参照)。
- 私はbashに委任することを検討しましたが、おそらく3つまたは4つの方法を試したにもかかわらず、それが一致することはありませんでした。
それで、文字列が正規表現に一致するかどうかを確認する* nixの方法があるので、条件にドロップできますか?
これは私が現在動作しているものですが、私は不満です:
linux - 魚のプログラミング: config.fish の bind コマンドが実行されないのはなぜですか?
の終わりに/usr/share/fish/config.fish
、次のコマンドがあります。
その後、魚を実行すると、「foo」が出力されます。次にbind
、すべてのバインドされたキーの組み合わせのリストを出力するために実行しますが、の出力に「前方単語」および「後方単語」のエントリはありませんbind
。
私は何か見落としてますか?
bash - ファイル名から先頭の空白を削除する Bash スクリプト
したがって、次のようなファイルがたくさんあります。
また、bash または fish スクリプトで先頭の空白を削除する必要があります。
git - Fish 関数はランダムなファイルを作成します
「git add」プロセスを短縮するために、魚の殻関数を作成しました (非常に長いため)。
引数なしで呼び出した場合はディレクトリ全体を追加し、名前を付けた場合は特定のファイルのみを追加しますが、非常に奇妙な例外が 1 つあります。
引数の有無にかかわらず、「git add」の代わりに「ga」を使用すると、ディレクトリにファイル名「0」が作成されます。その内容は通常、単一の数値 (0 または 2) です。
ここで何が起こっているのか分かりますか?私は機能が好きなので、それはまったく奇妙で、本当に苦痛ですが、空の「0」ファイルを私が貢献するリポジトリにプッシュし続けたくありません。
fish - 魚の甲羅に含まれる糸
私は Stack Overflow で同様の質問をすべて見て、それらのドキュメントでたくさんのことを試しました。私の現在の試みは以下です。
私が達成しようとしているのは、コンピューター ユーザーに基づく異なる動作です。職場のコンピューターと自宅のコンピューターがあり、コマンドラインに「コード」を入力すると、自宅で入力したときとは異なるディレクトリに職場のコンピューターが移動するようにします。私はこれを試しました(私の仕事のユーザー名はafk、家はsfkです):
現在、これは「不明なコマンドに Users/sfk/.config/fish/ が含まれています」という問題があります (これを入力すると、私の PWD は Users/sfk/.config/fish/ になります)。たぶん含むはリスト用だと思いますが、ドキュメントはこれについて特に明確ではありませんか? どうすればこれを行うことができるでしょうか?
編集
これを試してみたところ、エラーはなくなりましたが、最終的にelseケースになり、本来はそうではないため、dirh文字列にISが含まれているユーザーIS sfkが発生します。
fish - 魚のループの奇妙な動作
私はこのループを持っていますconfig.fish
:
これはうまく機能し、端末の幅を繰り返します。私は以下を取得して出力します:
番号を改行せずに並べて印刷したいと思います。
やってみecho -n $x
ましたが、これによりループが機能しなくなり、必要最小限のシェルが得られました。
ループが失敗するのはなぜですか?