2016-11-07 4 views
0

mapfile -tを使用してテキストファイルの内容を取得し、配列に割り当てます。 Jenkinsでは、ステップを促し、コンソール出力でどのコマンドを実行するかがうまく動作します。例えばパテのようなローカルコンソールで実行しようとすると、プロンプトが表示されます。bashを入力しないでシェルスクリプトを実行する方法(bashコマンドエラー:mapfileが見つかりません)

mapfile: not found [No such file or directory]

私は、マップファイルは、bashのコマンドです、私は私がするためにはbashを入力する必要がないことはbashを入力して、とにかくそこscript.Isを実行した後、シェルプログラムを実行することだということを知っています私は#!/bin/bash -xスクリプトの上に同じエラーを表示しています。私はbashとスクリプトを実行したくない理由は、スクリプトが死んだときのエラーを表示していないからです。スクリプトにあったエラー処理プロセスは表示されず、コマンドの実行時には出力が表示されませんでした。

+0

どのバージョンのBash? –

+0

'mapfile'コマンドはどのように起動していますか? その後、 [$アイテム= '-database']場合 -e構文 – Inian

+0

@RuslanOsmanov -4.2.25(1) – RandyWong

答えて

2

scriptという新しいファイルをテキストエディタで開きます。それを実行するために、ファイルを保存しchmod u+xを実行し、その後

./script "-database" 

#!/bin/bash -x 
set -e 
item=$1 

if [ $item = '-database' ] then 
    mapfile -t DATA < $DATA_FILES 
fi 

:で、あなたのプログラムを入力します。

これだけです。

ただし、このスクリプトは何も印刷しません。

関連する問題