タグ

shに関するgt-r-blazeのブックマーク (15)

  • シェルスクリプトで単純に並列実行・直列実行を行う - Qiita

    $ sleep 2 & # コマンド末尾に&をつけて呼び出すとバックグラウンドプロセスになり、並列で実行される $ sleep 4 & $ sleep 1 & $ sleep 4 & $ wait # 上記のバックグラウンドプロセスたちを待機。もっともかかるもので4秒なため、合計で4秒かかる [1] 38498 [2] 38499 [3] 38500 [4] 38501 [3] - 38500 done sleep 1 # 1秒後([1]のプロセスより先に終了) [1] 38498 done sleep 2 # 2秒後 [4] + 38501 done sleep 4 # 4秒後([2]のプロセスとほぼ同時に終了) [2] + 38499 done sleep 4 # 4秒後([4]のプロセスとほぼ同時に終了) echo "hogehoge.shを実行します" ./hogehoge.sh

    シェルスクリプトで単純に並列実行・直列実行を行う - Qiita
    gt-r-blaze
    gt-r-blaze 2021/11/04
    並列≒バックグラウンドプロセス
  • 【 mkdir 】コマンド/【 rmdir 】コマンド――ディレクトリを作成する/削除する

    【 mkdir 】コマンド/【 rmdir 】コマンド――ディレクトリを作成する/削除する:LinuxコマンドTips(21) 連載は、Linuxのコマンドについて、基書式からオプション、具体的な実行例までを紹介していきます。今回は、「mkdir」コマンドと「rmdir」コマンドです。

    【 mkdir 】コマンド/【 rmdir 】コマンド――ディレクトリを作成する/削除する
  • 【rm, rmdir】Linuxでディレクトリを削除するコマンド

    Linuxでディレクトリを削除するためのコマンドを紹介します。 Linuxにデフォルトで用意されているコマンドで、ディレクトリを削除するには「rm」と「rmdir」の2つがあります。 【rm】ファイルとディレクトリを削除するコマンド

  • Bash Sleep – How to Make a Shell Script Wait N Seconds (Example Command)

  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • シェルスクリプトで三項演算子ぽいやつ - harry’s memorandum

    むむ、/etc/init.d/functionsを見ていたら。 三項演算子っぽいことシェルスクリプトでもできるのね。 この歳になって気づくとは情けねー。 でも、変数に代入する際にはどっちが使い勝手よいのか微妙。 status=1 [ true ] && ret=0 [ true ] && ret=0 || ret=1 デバッグ変数用意しておいて、というのは便利かも。 _infomsg() { [ x${__debug} = "x" ] && return 0 echo "info: $1" }; _errmsg() { echo "error: $1" }; false && _infomsg "1:おれ問題なし" || _errmsg "1:おれエラー" true && _infomsg "1:おれ問題なし" || _errmsg "1:おれエラー" __debug=1 true &&

    シェルスクリプトで三項演算子ぽいやつ - harry’s memorandum
  • シェルスクリプトでの変数定義 - Qiita

    シェルスクリプトを使っているときに、変数 VAR が定義されていない場合の初期値を設定する方法 if文を使った方法 これが一般的かもしれないが、書き方としては冗長になってしまう 変数 VAR がNULL(文字列の長さが0)かどうかを判定して、NULLであれば値を代入する

    シェルスクリプトでの変数定義 - Qiita
  • sed でスラッシュを含む文字列を置換したい - Corredor

    sed コマンドでスラッシュ / を含む文字列を置換したくなった。 普通にやるなら、文字列中のスラッシュを \/ とエスケープしてやれば良い。 $ echo 'hoge/fuga' | sed 's/e\/f/E-And-F/' hogE-And-Fuga しかし、別の変数から値を拾って使用したりする時に、イチイチエスケープするのは面倒だ。 そこで調べてみると、sed コマンドの区切り文字はスラッシュ以外の記号でも動くことが分かった。スラッシュ以外の区切り文字を使用すれば、置換文字列中のスラッシュはエスケープが不要になる。 色々試したが、別にアルファベットを区切り文字にしていてもよくて、置換文字列内に登場しない1文字を使っていれば良いみたい。 # 区切り文字にアットマーク `@` を使う例 echo 'hoge/fuga' | sed s@e/f@E-And-F@ # 区切り文字に `X`

    sed でスラッシュを含む文字列を置換したい - Corredor
    gt-r-blaze
    gt-r-blaze 2020/09/10
    “sed コマンドの区切り文字はスラッシュ以外の記号でも動く”
  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
    gt-r-blaze
    gt-r-blaze 2020/01/25
    set -ex 「コマンドの実行に失敗したらその場で終了する」と「どのコマンドで失敗したかを知る」
  • シェルスクリプトの1行目に書くおまじないで使える便利オプション集 - Qiita

    シェルスクリプトを書く時に、1行目に#!/bin/sh(or #!/bin/bash)を書きますよね。 「おまじない」と思って書いている方も多くいるのではないでしょうか。・・・私もその一人でした。 今回は、そんなおまじないに関するオプションのまとめです。 まずはじめに、shとbashの違いについて説明します。(そんなのどうでもいいや!って人は読み飛ばしちゃってください) shとbashの関係 sh 標準のシェル bash Linuxの標準シェル sh互換のコマンド言語インタプリタ いずれのコマンドも標準入力やファイルから読み込んだコマンドを実行します。 ここで、bashとshの関係を見てみましょう。 lsコマンドに-hオプションをつけると、ディレクトリとファイルのパーミッション、所有者、グループ、サイズ、更新日などの詳細を表示することができます。

    シェルスクリプトの1行目に書くおまじないで使える便利オプション集 - Qiita
  • /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 の違い - 双六工場日誌
    gt-r-blaze
    gt-r-blaze 2019/07/29
    "shebang"
  • 自分好みの環境をsudo時にも使えるようにする - 絶品ゆどうふのタレ

    以下のように.*shrcに記述しておくと、自分のshellで設定した内容のほとんどをsudo後にも引き継ぐことが出来て、ちょっと便利。 alias sudo='sudo -E ' これだけ。これは2つのことをやっていて 実行ユーザーの環境変数の大部分をsudo後も引き継ぐ 実行ユーザーのalias設定をsudo後も引き継ぐ という効果がある。 環境変数の引き継ぎ 前者の、環境変数の引継を実現しているのは、-Eオプション。 これは、正確には環境変数を引き継いでいるのでは無く、sudoersで設定されているenv-resetを無効にする効果がある。 そのため、$USER/$LOGNAME/$PATHなどの環境変数は(defaultでは)rootで上書きされるのだが、$HOMEは実行ユーザーのままだったり、$LV/$EDITORなども引き継がれたりする。 もちろん、これはsudoersのenv周

    自分好みの環境をsudo時にも使えるようにする - 絶品ゆどうふのタレ
  • grepでAND検索とOR検索 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    grepでAND検索とOR検索 - Qiita
  • 初心者向け!シェルスクリプト演算子まとめました【Linux】

    演算子とは「+」や「-」と言った計算時に使われるものだ。また比較にも使われる。 プログラミングではどの言語にもある機能で、シェルスクリプトにももちろん存在する。 このページではシェルスクリプトでの演算子の使い方を見ていこう。 演算子とは? 演算子ときいてもピンとこないかもしれない。「1+1=2」としたとき「+」や「=」が演算子にあたる。重要な存在だ。 これらは分岐と繰り返しの条件式を立てるときに使用される。演算子を知らなければ式がたてられないので、辛抱して頭にいれていってほしい。 bashには多くの演算子があるが少々癖がある。四則演算をはじめ、状態を確かめる演算子や比較を行う演算子などが用意されている。 シェルスクリプトの四則演算 四則演算の基 どのプログラミング言語でも似たようなものだが、シェルスクリプトには次の様な四足演算子が用意されている。

    初心者向け!シェルスクリプト演算子まとめました【Linux】
    gt-r-blaze
    gt-r-blaze 2019/07/17
    -d ファイル名 ディレクトリなら真 など。-f -L -r -w -x -s -nt -ot
  • 【シェル芸人への道】Bashの変数展開と真摯に向き合う - Qiita

    はじめに 個人的なシェル(スクリプト)あるあるなんですが、変数操作に悩んでいるとBashの 変数展開 って思った以上に色んなことができてしまうことに気がつきます。 「なんかいい感じの書き方ないかなー」 「cut, tr, sed, awk, ...、まぁできるのは間違いないんだけど」 「うーん」ググリ― (10分後) 「えっ、変数展開...?(怪訝)」ポチポチ 「...」カタカタ 「いけるやん!!!」 ってことが結構あります。皆さんもこういった経験少なからずあるのではないでしょうか。 (そして今もまさにそういう記憶・期待があるから、変数展開について少し調べている...そんなところかと推察します) 毎回調べるのも感動があっていいと思うんですが、もはや衝動を押さえきれないので 全部調べたい と思います。 Bashのバージョンは 4.3.48(1) でしたが、そうそう変わるような内容でも

    【シェル芸人への道】Bashの変数展開と真摯に向き合う - Qiita
  • 1