よく訪れるWebページを閲覧するのに役立つ関数をzshrcファイルに作成しています。たとえば、通話が61b
開始されます。https://sp21.datastructur.es/、61b lab6
熱予定ですhttps://sp21.datastructur.es/materials/lab/lab6/lab6、そして61b proj2
開かれますhttps://sp21.datastructur.es/materials/proj/proj2/proj2。 URLでorを使用できるように、lab6
orのサブストリングを生成する必要があります。proj2
lab
proj
function 61b() {
if [ -n "$1" ]; then
open https://sp21.datastructur.es/materials/??/$1/$1
else
open https://sp21.datastructur.es/
fi
}
私はそこに何を入れますか??。私はほとんどすべてを試しました。
ベストアンサー1
より複雑な形式を使用して、多くの文字列操作を実行できます。パラメータ拡張形態または(またはそれらの組み合わせ)。${stuffPARAM}
${PARAMstuff}
たとえば、${1%%[0-9]##}
最初のパラメータ($1
)は数字(ワイルドカードパターン [0-9]##
)は()の末尾から削除されます${…%%…}
。setopt extended_glob
ワイルドカードパターンが機能するには、それをまたは関数[0-9]##
に入れる必要があります。.zshrc
function 61b() {
setopt local_options extended_glob unset
if [ -n "$1" ]; then
open https://sp21.datastructur.es/materials/${1%%[0-9]##}/$1/$1
else
open https://sp21.datastructur.es/
fi
}
[0-9]##
<->
代わりに、任意の範囲の数字を表すを使用できます。 (「数字」は、10進表記で表される非負の整数を表すため、一連の数字と同じです。)