タグ

bashとlinuxに関するremixedのブックマーク (27)

  • glob - Greg's Wiki

    Globs "Glob" is the common name for a set of Bash features that match or expand specific types of patterns. Some synonyms for globbing (depending on the context in which it appears) are pattern matching, pattern expansion, filename expansion, and so on. A glob may look like *.txt and, when used to match filenames, is sometimes called a "wildcard". Traditional shell globs use a very simple syntax,

  • xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita

    はじめに xargs コマンドは「なにか凄そうだけどよく分からないコマンド」としてよく知られています。使う人は使うけど何をやっているのか全くわからないコマンドです。また、やっていることがわかっても実際に使ってみると、空白やクォーテーション文字でエラーになってしまう使い方がとても難しいコマンドです。この記事はそういうよくわからない xargs はどういうコマンドなのか解説します。この記事を読むと xargs を「完全に理解した」と言えるようになるでしょう。 xargs コマンドが難しい理由は、xargs 自体の設計や実装の問題で古い時代の制限が多いからです。仕様が意味不明で一貫性がなくで他のコマンドと正しく連携するのが困難です。そして来の目的と違う用途に流用されてばかりです。最初にこの記事の結論を書いておきます。 xargs は難しすぎるコマンド、可能な限り使うな 昔と違い今はそんなに重要

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか? - Qiita
  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものに

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • [シェル] カッコの意味と役割まとめ [Bash, Linux]

    シェルスクリプトで使用されるカッコいろいろ シェルスクリプト(コマンド)で使われるカッコにはそれぞれ異なる文法上の意味があります。ここでは8種類のカッコの使い方についてまとめます。 [] 角括弧、bracket、ブラケット [[]] 二重角括弧、double bracket、ダブルブラケット () 丸括弧、parenthesis、パーレン (()) 二重丸括弧、double parenthesis、ダブルパーレン $() ドル丸括弧、ドルパーレン $(()) ドル二重丸括弧、ドルダブルパーレン {} 波括弧、brace、ブレース ${} ドル波括弧、ドルブレース [] 角括弧、bracket、ブラケット [] ブラケットは test コマンドど等価のコマンドです。 【 test 】コマンド(基礎編)――ファイルの有無などを判定する:LinuxコマンドTips(221) – @IT te

    [シェル] カッコの意味と役割まとめ [Bash, Linux]
  • Bashの括弧のノウハウ(まとめ) - Qiita

    すでにQiitaにもいくつか記事があるが 1、Bashでの各種の括弧はそれぞれ意味がある。 自分でも知らなかったBashの括弧もあったので、改めてまとめてみた。 なお、Bashの話ではあるが、Bourne shell(/bin/sh)としても動くサンプルコードは sh コードとしてある。 bracket [ ] shからある伝統的なコマンドで、test と等価。式の結果を、0が真、1が偽の真偽値で返す。 if と組み合わせて用いることが多い。 そう、シェルでは[はコマンドなのである。2 [と] の前後にはスペースが必要で、後続のコマンドがある場合は;で終わらせなければならない。なぜなら前述のとおり [はコマンドで、[ から ] までが一連のコマンドと引数の組み合わせだからだ。(]は必須な引数という位置付け)

    Bashの括弧のノウハウ(まとめ) - Qiita
  • GoogleのShell Style Guideの邦訳 - Qiita

    背景 (Background) どのシェルを使うか (Which Shell to Use) Bash は実行が許可された唯一のシェルスクリプト言語である。 実行可能ファイルは #!/bin/bash と最小限のフラグで始めなければならない。シェルオプションの設定に set を利用することで、 スクリプトを bash script_name として呼び出してもその機能を損なわないようにせよ。 全ての実行可能シェルスクリプトを bash に制限することで、全てのマシンにインストールされた一貫したシェル言語を得る。 これに対する唯一の例外は、コーディング対象によって強制される場合である。この1つの例として、Solaris SVR4 パッケージは、どんなスクリプトにも plain Bourne shell であることを要求する。 いつシェルを使うか (When to use Shell) シェル

    GoogleのShell Style Guideの邦訳 - Qiita
  • Shell Script Best Practices — The Sharat's

    This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated. Things¶ Use bash. Using zsh or fish or any other, will make it hard for others to understand / collaborate. Among all shells, bash strikes a good balance between portability and DX. Just make the first line be #!/usr/bin/env bash, even if you don’t give exec

  • bash

    Linux においての「コマンド」とは、シェルによって実行ファイルが実行されていることを意味します。 たとえば ls コマンドをユーザが入力した際、その入力はシェルにとっての入力でしかありません。シェルはユーザから入力された ls という文字列を「ls という実行ファイルを実行する」と解釈し、カーネルに伝えます。 ls という実行ファイルを実行した結果がシェルによってユーザに伝えられ、あたかもユーザは ls という実行ファイルを直接実行したように感じることができます。 このように「実行したように」というのがユーザインタフェースとしてのシェルの役目です。 しかし、今回はスクリプト言語としての bash をメインに扱うので、この章は軽く流していただいて結構です。 ご存じのように bash はプログラミング言語(シェルスクリプト)のひとつとして動作します。 プログラミング言語として、最低限備わっ

  • シェルスクリプト (bash, ksh, yash, zsh) で正規表現を使う方法のまとめ - Qiita

    はじめに 一部の POSIX シェルには、シェル自体に正規表現対応の機能が含まれており、外部コマンドに依存せずに正規表現による比較を行えます。すべての POSIX シェルで使えるわけではありませんが、シェルに含まれている機能であるため環境の違いを気にする必要はなくパフォーマンスも良いというメリットがあります。しかし正規表現に対応している bash、ksh、yash、zsh で、実装にそれぞれ違いがあります。この記事ではその違いをまとめました。現時点でのそれぞれの最新版である bash 5.2、ksh 93u+m/1.0.3、yash 2.53、zsh 5.9 で動作確認しています。 なお POSIX 正規表現の話や、コマンド(POSIX コマンド・UNIX コマンド)で正規表現を使用する場合の注意点などは「シェルスクリプトの正規表現の詳細解説(令和最新版)〜 基正規表現(BRE)と拡張正

    シェルスクリプト (bash, ksh, yash, zsh) で正規表現を使う方法のまとめ - Qiita
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメのとして名前が挙がる名著です。しかしこのは古いです。POSIX でシェルが標準化される以前ので、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れたでも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古いはこれ

    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
  • Bashで簡単にCSVファイルを読み込んで処理する方法 - Qiita

    はじめに LinuxのBashのスクリプトでシンプルなCSVファイルを読み込んで処理を行う際に、意外と簡単に記述する事ができるので紹介します。 ・cutコマンドを使用する方法 よく見かけるBashスクリプトでCSVファイルを読み込んで処理を行う方法として、CSVファイルを標準入力から一行ずつ読み込み、cutコマンドを使用してカラムを変数に格納する記述があります。 #!/bin/bash while read line do # $lineに読み込んだCSVファイルの一行のテキストが格納され、それをcutコマンドでカラムに分割し変数に格納 col1=$(echo ${line} | cut -d , -f 1) col2=$(echo ${line} | cut -d , -f 2) col3=$(echo ${line} | cut -d , -f 3) # 処理内容をここに記載 # $c

    Bashで簡単にCSVファイルを読み込んで処理する方法 - Qiita
  • デーモンの起動・終了にはserviceコマンドを利用しよう

    斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv

  • シェルスクリプトを書くときにいつもやるやつを調べた

    bash のシェルスクリプトを書くときに、いつも脳死で以下をやっている。(同僚が整備してくれたものをコピペしている) エディタなり CI で shellcheck をまわす set -euxo pipefail と冒頭に書く こんな感じ #!/bin/bash set -euxo pipefail いつまでもコピペではさすがにアレなので、意味を調べたメモ。 shellcheck koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts イケてない書き方に警告を出してくれる それぞれの警告にはエラーコード割り振られていてとても便利 エラーコードごとに正誤例、解説が書かれているのでわかりやすい SC1000 の例 CI もそうだし、エディタのプラグインも充実 しているのでとりあえず入れておくと良い set

    シェルスクリプトを書くときにいつもやるやつを調べた
  • bashスクリプティング研修の資料を公開します - エムスリーテックブログ

    こんにちは、エンジニアリングGの中村です。 以前にこのブログにてエムスリーでの社内研修について紹介しました。今回は、この中でのbashスクリプティング講座の資料を公開します。 www.m3tech.blog 弊社の中でもいろいろな用途でbashが使われていますが、bashは簡単に利用できるもののプログラミング言語としてはバグを生みやすい、辛い言語だと思います。 ここで紹介しているのはいわゆるコーディング規則というよりも、バグ防止と可読性向上のためのルールをTips集的にまとめたものです。 bashにおいてまだまだ注意するところはありそうですが、多少なりともわかりにくいスクリプトの削減になればと期待しています。 [追記: 2018-08-22] はてブにて以下のコメントをいただきました。 bashスクリプティング研修の資料を公開します - エムスリーテックブログ bashで50行以上になった

    bashスクリプティング研修の資料を公開します - エムスリーテックブログ
  • いまさらcrontabのメリットと書き方を見直す - それマグで!

    crontab って便利だけどわかりにくさがある crontab の書き方がおかしくてうまく実行されないとか、そんな書き方があったのか!となることがある。 なので、systemd を使って定期実行することが多いんだけど、そうすると今度は管理が大変になる。 なんだこの定期実行は!となってしまう。 crontab で敢えて書くことの利点 「なんで、いまらさ cron なんだよ。このオッサンは!!」と思われるかもしれない。でもcronを使うメリットは少なからずあると思います。 メリット cronで書くと次のようなメリットがあると思います。 一覧ですぐ確認できる /etc/cron.d に絶対ある コマンドの書き方がシンプル メール通知がかならずある。 書式はパターン化される。 最初に cron は「クロン」と呼びます。 ときどき、「くぅーろん」とか「くろーん」とか余計な母音や長音を含めている人が

    いまさらcrontabのメリットと書き方を見直す - それマグで!
  • Linux for Hackers(ハッカーのためのLinux)連載開始のお知らせ - 忙しい人のためのサイバーセキュリティニュース

    Hackers Ariseというウェブサイトを最近読んでいます。 このサイトにはEthical Hackerになる為に必要な知識とノウハウが詰まっているので、ハッカーを志す人はぜひとも一読して頂きたい程お薦めです。 しかしHackers Ariseは英語で書かれており、言語的な問題や、時間的な制約が原因でHackers Ariseを直接の読む余裕がないという方も少なからずいるのではないでしょうか。 そもそも私が、このブログでセキュリティニュースを発信し始めたのも、そうした方々に対して語学力を活かしたいと思ったのが理由でした。 そうした思いから私は、Hackers Ariseの運営者であるOCCUPYTHEWEB氏に直接コンタクトし、「当ブログで翻訳記事を紹介させて頂けないか」という旨を確認したところ、許可を頂く事が出来ました。 ですので、このブログでも不定期にHackers Ariseのノ

    Linux for Hackers(ハッカーのためのLinux)連載開始のお知らせ - 忙しい人のためのサイバーセキュリティニュース
  • 俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました

    俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました エンジニアの皆さんが愛用する自作のワンライナーってどんなもの?Web企業で働くエンジニアの方々に、秘蔵のワンライナーを聞きました。 ワンライナーとは、何か特定の処理を「たった1行のプログラム」だけで実現するものです。サービス運用に携わるエンジニアの皆さんも、愛用している独自のワンライナーを持っているのではないでしょうか。「独自のワンライナー」とは、エンジニア各人のナレッジやノウハウが詰まっているとも考えられます。 企画ではさまざまジャンルで活躍するエンジニア16人に、業務を支えてくれるワンライナーを紹介してもらいました。参考に使ってみるも良し。眺めて楽しむも良し。個性あふれる貴重な「オレオレ・ワンライナー」の数々をご覧ください! ※各カテゴリー内では所属企業名の50音順に掲載。回答者は敬称略とする。 リソース管理 プロセスを

    俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました
  • Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね

    Bashでスクリプトを書く際によく自分が使っている小技や関数などです。 またBashでは他のプログラミング言語以上に$や:などの記号の使い方が独特でググラビリティが低いので、基文法などもチートシートとしてまとめておきます。 基文法 変数と配列 制御構文 while for-in if - elif - else if文のone-liner 文字列比較 文字列が等しい (=) 文字列が等しくない (!=) 空文字、文字列長が0 (-z) 空文字でない、文字列長が0でない (-n) 数値比較 数値が等しい (-eq) 数値が等しくない (-ne) 数値がより小さい (-lt) 数値がより大きい (-gt) ファイルの判定 存在する (-e) ファイルである (-f) ディレクトリである (-d) シンボリックリンクである (-L) 関数 便利なスニペット 実行スクリプトがあるディレクトリを

    Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね
  • シェルスクリプトの代わりにPythonを使う - オープンソースこねこね

    これまで、開発や運用時に使う、ちょっとしたコマンドラインツール、自動化スクリプトは、主にBashのシェルスクリプトで実装していたのですが、最近このような用途にはPythonを使うようにしています。 Bashスクリプトへの不満 スクリプトの実装方針 ポータビリティ重視のための縛りPythonプログラミング Tips __future__モジュールでバージョン2、3両方に対応させる バージョン2、3で異なるモジュールを、同じ名前で読み込む バージョン2、3を判別する関数を用意する よく使うスニペット 文字に色をつける 赤い文字でエラーメッセージを出力して終了する 外部コマンド実行する テキストをファイルに出力する ファイルに実行権限をつける スクリプトの同時、多重起動防止する コマンドライン・オプションの解析 HTTPリクエスト まとめ Bashスクリプトへの不満 Bashのスクリプト実装にお

    シェルスクリプトの代わりにPythonを使う - オープンソースこねこね