bashでは、php/{composer,sismo}
がphp/composer php/sismo
に拡張されています。 /bin/sh
(ダッシュと思われる)、システムシェルでこれを行う方法はありますか?私はgit hooksとwould like to stay away from bash as long as I canと書いています。ダッシュはbashの中かっこの構文に相当しますか?
5
A
答えて
5
printf
を使用できます。
% printf 'str1%s\t' 'str2' 'str3' 'str4'
str1str2 str1str3 str1str4
3
方法がないようです。おそらく関数内でこれらの名前を生成するためにループを使用する必要があります。あるいは、変数を使用して共通部分を置き換えることもできますし、誤植を防ぐために "set -u"を使うこともできます。
パフォーマンス上の理由から、ダッシュを使用することをお勧めしますが、意思決定を実証するための数字は提供していないようです。実際のパフォーマンスの差を測定して再評価することをお勧めします。早すぎる最適化のために落ちているかもしれません。 Bashと可能なパフォーマンスの低下を使用して、どれだけの実装時間とデバッグ時間を節約するかを検討してください。
0
私は本当に@mikeservによって提供さprintf
ソリューションを好むが、私はループを使用した例を提供しようと思いました。
以下は、両方の文字列を同じコマンドにargsとして提供するのではなく、展開された文字列ごとに1つのコマンドを実行する場合に最も役立ちます。
for X in composer sismo; do
echo "php/$X" # replace 'echo' with your command
done
ただし、$ARGS
は、上記のコマンドでは引用符で囲まれていないであることを
ARGS="$(for X in composer sismo; do echo "php/$X"; done)"
echo $ARGS # replace 'echo' with your command
注意としてそれを書き換えて、これはその内容がwordsplittedされることを意味していることを認識することができた(すなわち任意の元の文字列の場合スペースを入れると、それは壊れます)。
関連する問題
- 1. preg_match_allはBASHに相当しますか?
- 2. lxmlはBeautifulSoup "OR"の構文に相当しますか?
- 3. Javaでこの構文に相当するものは何ですか?
- 4. 相当のDBIx :: Class構文?
- 5. Batchのmsg *に相当するBashはありますか?
- 6. bashスクリプトのPerlハッシュに相当しますか?
- 7. このT-SQL UpdateコマンドのSQLite 3相当の構文は何ですか
- 8. Pythonで "break"文のBashに相当するものは何ですか?
- 9. assert(minitest)に相当するRSpec構文は何ですか
- 10. ダッシュ・セミコロン(;;)の構文
- 11. bash $ *のPowershellに相当するものは何ですか?
- 12. cshのbashに相当するものはどこですか? 'builtin?
- 13. Bash execに相当するノードJSはありますか?
- 14. bashコマンド `set -e`に相当するpython3はありますか?
- 15. import()は「どこか」からのimport {something}に相当します。
- 16. protobufの#ifdef構文に相当します。
- 17. mysqliの構文$ stmt-> bind_param()に相当するPDOはありますか?
- 18. css3は、これらの2つの文がtransformに相当しますか?
- 19. LESS Space( "+ _")構文に相当するSASS
- 20. 中かっこのBash文字列置換
- 21. tcshはbashのunset-variable aware '+'パラメータ置換コマンドに相当しますか?
- 22. 水銀中のgit ls-filesに相当しますか?
- 23. bashに相当するPythonのos.path.normpath?
- 24. bashに相当するpowershellの "expect"
- 25. VBAに相当するPythonのpass文はありますか?
- 26. .NETはGetLastInputInfoに相当しますか?
- 27. SprintfはMathematicaに相当しますか?
- 28. NSURLSessionはAndroidに相当しますか?
- 29. direct_to_templateはメールに相当しますか?
- 30. "TYPEOF"はMysqlに相当しますか?
私はそれが本当に時期尚早の最適化だと思う、私は多くのシェルスクリプトを書いていないため、私は確信していなかった。私は彼らが何も複雑ではないことが分かるので、違いはbashの起動時間だけになります... – greg0ire
@ greg0ire、はい、主に起動時ですが、多くのスクリプト呼び出しが必要な場合や、あなたのコード内のサブシェル。パフォーマンスが重要な場合は、一般的なシナリオで測定してください。 – spbnick
時間が私に違いを与える:bash = 5ms、sh = 3ms。私はそれが受け入れられると思う。 – greg0ire