アカウント名:
パスワード:
if [[ `echo $PWD | grep "^$HOME/"` ]]; then
は
if [ -z "${PWD/$HOME*/}" ]; then
と書いた方が軽いかも.
${変数名#パターン} や ${変数名/置換前/置換後/} などで変数の展開時に部分削除や置換が出来るのは知りませんでした。ご教示いただきありがとうございます。
ただ、ご提示いただいた修正では誤りで、 if [[ -n ${PWD#$HOME} ]]; then が適切なようでしたので、こちらで修正しました。
部分を削除/置換する機能はbashだけではなくてkshでもあったはず。bshはどうだったか忘れた。そもそもそこまで細かいことはその都度調べれば足りるので暗記する気なし。あと、echoその他もコマンド呼び出しとのトレードオフとか細かい話は昔からいろいろあるわけで。
そういう機能があること自体を知らないばかりか、無いものと思い込んであまり調べもしていませんでした。あらためて勉強不足を痛感しました…
if [[ -n ${PWD#$HOME} ]]; then
これだと /var とか /tmp 以下も処理対象になりませんか?
対象を $HOME 以下、かつ $HOME は除外したい、ということなら
if [ -z "${PWD/$HOME\/*/}" ]; then
ですかね
その通りですね…というか自分が大きな勘違いをしていたことに今頃になって気付きました orzご提示いただいた方法はもちろん正解ですし、 #2558413 の方法も正解でした。間違った答えを自信満々に言ってしまい、恥ずかしい…
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
ちょっと重そう (スコア:0)
if [[ `echo $PWD | grep "^$HOME/"` ]]; then
は
if [ -z "${PWD/$HOME*/}" ]; then
と書いた方が軽いかも.
Re:ちょっと重そう (スコア:1)
${変数名#パターン} や ${変数名/置換前/置換後/} などで変数の展開時に部分削除や置換が出来るのは知りませんでした。ご教示いただきありがとうございます。
ただ、ご提示いただいた修正では誤りで、 if [[ -n ${PWD#$HOME} ]]; then が適切なようでしたので、こちらで修正しました。
Re:ちょっと重そう (スコア:1)
部分を削除/置換する機能はbashだけではなくてkshでもあったはず。bshはどうだったか忘れた。
そもそもそこまで細かいことはその都度調べれば足りるので暗記する気なし。
あと、echoその他もコマンド呼び出しとのトレードオフとか細かい話は昔からいろいろあるわけで。
Re:ちょっと重そう (スコア:1)
そういう機能があること自体を知らないばかりか、無いものと思い込んであまり調べもしていませんでした。あらためて勉強不足を痛感しました…
Re: (スコア:0)
if [[ -n ${PWD#$HOME} ]]; then
これだと /var とか /tmp 以下も処理対象になりませんか?
対象を $HOME 以下、かつ $HOME は除外したい、ということなら
if [ -z "${PWD/$HOME\/*/}" ]; then
ですかね
Re:ちょっと重そう (スコア:1)
その通りですね…というか自分が大きな勘違いをしていたことに今頃になって気付きました orz
ご提示いただいた方法はもちろん正解ですし、 #2558413 の方法も正解でした。
間違った答えを自信満々に言ってしまい、恥ずかしい…