次の簡単なgulpfile.js
スクリプトがあります。
var gulp = require('gulp');
var shell = require('gulp-shell');
gulp.task('run-me', shell.task([
'export sweet_param=5',
'echo $sweet_param'
]));
問題は、$sweet_param
変数が出力されないことです。
Git Bash の下で Windows 8.1 で実行すると、次のメッセージで失敗します。
[16:51:06] Starting 'run-me'...
'export' is not recognized as an internal or external command,
operable program or batch file.
[16:51:06] 'run-me' errored after 29 ms
[16:51:06] Error in plugin 'gulp-shell'
Message:
Command `export sweet_param=5` failed with exit code 1
Linux の場合、タスクはエラーなしで実行されますが、期待値の代わりに空白行が出力されます。
[16:49:32] Starting 'run-me'...
[16:49:32] Finished 'run-me' after 26 ms
両方のオペレーティング システムの bash でタスクからのコマンドを手動で実行すると、5
正常にエコーされます。
使用したソフトウェア:
- がぶ飲み 3.8.11
- ガルプシェル0.4.1
- Node.js v0.12.2
- Windows での bash バージョン 3.1.20(4) リリース (i686-pc-msys)
- Linux の bash バージョン 4.3.33(1)-release (x86_64-unknown-linux-gnu)。
ここでのキャッチは何ですか?
ありがとうございました!