バージョンタグパラメータ(v1.3など)をbashスクリプトファイルに渡したいと思います。タグパラメータを含むファイルを表示します。${tag}
端末でv1.3パラメータを渡したいです。このタグ値は頻繁に変更されます。誰もが次のbashスクリプトファイルにパラメータを渡す方法を教えてもらえますか?
#!/bin/bash
cd /path/to/file
git checkout -- .
git checkout tags/${tag}
答え1
いわゆる「位置パラメータ」$1
などを使用できます$2
。
例えば
#!/bin/bash
cd /path/to/file
git checkout -- .
git checkout tags/"$1"
myscript tag
これで or またはmyscript anothertag
を実行でき、myscript test
の値は$1
入力した値になります。
答え2
1行を追加すると、スクリプトが必要に応じて機能するようになります。
#!/bin/bash
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/${tag}
その後、スクリプトの最初のコマンドライン引数を取得して変数に割り当てますtag
。
値にスペースを入れるには、$tag
変数拡張を二重引用符で囲みます。
#!/bin/bash
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
成功時にのみgit
操作を実行するには、cd
各コマンドを前のコマンドの正常な完了に依存させます。
#!/bin/bash
tag=$1
cd /path/to/file &&
git checkout -- . &&
git checkout tags/"$tag"
または、コマンドのいずれかが失敗した場合は、スクリプトを自動的に終了させます。
#!/bin/bash -e
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
このスクリプトは特定のものを使用しないため、bash
次の環境で簡単に実行できます/bin/sh
。
#!/bin/sh -e
tag=$1
cd /path/to/file
git checkout -- .
git checkout tags/"$tag"
答え3
位置パラメータを使用してスクリプトにパラメータを渡すことができます。
#!/bin/bash
cd /path/to/file
TAG=$1 # read the first paramater passed to your script like ./myscript v1.2
if [ "$TAG" != "" ]; then
git checkout -- .
git checkout tags/"$TAG"
else
echo "Please enter a Tag "
exit 1 ;
fi
また、対話型モードを使用してユーザーがスクリプトに 。
#!/bin/bash
read -p "Please enter tag: " TAG
cd /path/to/file
if [ -n "$TAG" ]; then
git checkout -- .
git checkout tags/"$TAG"
else
echo "Please run again and enter a Tag "
exit 1 ;
fi