シェルスクリプト - 引用符を追加しないでください

シェルスクリプト - 引用符を追加しないでください

単一の冗談テストファイルを実行するためのnpmスクリプトを作成しました。ファイルを実行するには、次のように入力します。

> npm start test:1 **/unit-test-filename.test.js

これを簡単にし、次のように入力したいと思います。

> jt unit-test-filename

だから私は次のようなbashスクリプトを作ってみました。

#!/bin/bash -x
npm run test:1 **/$1.test.js

残念ながら実行しようとすると、最後のパラメータの周りに一重引用符が追加され、npmスクリプトがファイルを見つけることができなくなりました。私は次のような結果を得ます。

╰─± jt unit-test-filename                                                                                
+ npm run test:1 '**/unit-test-filename.test.js'

> [email protected] test:1 /Users/path/to/my/current/dir
> cross-env NODE_ENV=dev node ./etc/jest1 "**/unit-test-filename.test.js"

Error!! Test file: **/unit-test-filename.test.js doesn't exist.

アスタリスクを避け、他の多くの方法を試しました。 bashスクリプトでも可能ですか?

ベストアンサー1

globstarシェルスクリプトで設定していない可能性があります。

を使用して有効にできますshopt -s globstar

#!/bin/bash
set -x
shopt -s globstar
npm run test:1 **/"$1".test.js

おすすめ記事