私はこのコードを使用しています:
#!/bin/sh
if [ $# -lt 2 ]
then
echo "wrong syntax"
echo "ct_cmp.sh <label1> <label2> [<file_extension>]"
else
if [ $# -eq 2 ]
then
cleartool find . -version 'lbtype($1) && \!lbtype($2)' -print
fi
fi
しかし、次の結果が得られます。
クリーンアップツール:
Error: Invalid query: "lbtype($1) && \!lbtype($2)"
ベストアンサー1
一重引用符はパラメータの拡張を防ぎます。
'lbtype($1) && \!lbtype($2)'
で動作する必要があります"'lbtype($1) && \!lbtype($2)'"
。
ちなみに、シェルスクリプトで作業するときに私が使用するツールの1つはshellcheckを使ってそれをチェックすることです。https://www.shellcheck.net/(スタンドアロンの実行可能ファイルでも利用可能) もちろん、簡単な引用についても同じことがわかります。