タグ

shに関するoooooo4150のブックマーク (3)

  • Bash で変数内の文字列を置換するショートメモ - ようへいの日々精進XP

    ども、初老丸です。 tl;dl シェルスクリプトで変数内の文字列を置換したり、変数に代入したファイルパスからファイル名だけを取り出したいと考える際に真っ先に sed でゴニョゴニョを思いつくが、Bash だと Bash 内で完結出来ることを以下の記事でしったので実際に試してみた。 d.hatena.ne.jp www.gnu.org 有難うございました。 ショートメモ サンプルスクリプト $ cat test.sh # # - . を _ に置換する # echo "### . を _ に置換する" TEXT="www.hoge.com" echo ${TEXT} # www.hoge.com echo ${TEXT/./_} # www_hoge.com echo ${TEXT//./_} # www_hoge_com echo "" # # - ファイルパスから / を削除する # e

    Bash で変数内の文字列を置換するショートメモ - ようへいの日々精進XP
  • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

    シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

    shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
  • /bin/sh と /bin/bash の違い - 双六工場日誌

    みなさん、shebang書いてますか! Shebangというのは、スクリプトの最初の一行目に書く、「#!/bin/sh」とか「#!/usr/bin/perl」とかそういうあれです。詳しくはWikipediaさん(シバン (Unix))に聞いてくださいまし。 Twitter見てると、「そもそもこれにshebangなんて名前がついてるの知らなかったよ」という発言も見る不憫な子ではあるのですが、そこに何が書いてあるかで実は動作が違うよってのが今日の題です。それで、はまっていたのを最近見て、まああまりここで引っかかる人はいないと思いつつ、この点を書いた情報を見ないのでまとめてみました。*1 今日取り上げるのは、bashがデフォルト設定になっているLinuxでの「#!/bin/sh」と「#!/bin/bash」のお話。確認はCentOS5, 6で行なっています。 さて、上記の環境の場合、「/bin

    /bin/sh と /bin/bash の違い - 双六工場日誌
  • 1