タグ

shellscriptとLinuxに関するremixedのブックマーク (14)

  • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

    はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

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

    xargs 完全理解マニュアル - xargs は拡張引数 (extended arguments) の略って知っていますか?ShellScriptUNIXシェル芸POSIXUnix哲学 はじめに xargs コマンドは「なにか凄そうだけどよく分からないコマンド」としてよく知られています。使う人は使うけど何をやっているのか全くわからないコマンドです。また、やっていることがわかっても実際に使ってみると、空白やクォーテーション文字でエラーになってしまう使い方がとても難しいコマンドです。この記事はそういうよくわからない xargs はどういうコマンドなのか解説します。この記事を読むと xargs を「完全に理解した」と言えるようになるでしょう。 xargs コマンドが難しい理由は、xargs 自体の設計や実装の問題で古い時代の制限が多いからです。仕様が意味不明で一貫性がなくで他のコマンドと正しく

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

    はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

    シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - 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

  • UNIXシェルスクリプトメモ(Hishidama's UNIX shell script Memo)

    -xを付けると実行内容を表示しながら実行する。[2008-11-29] bash -x スクリプトファイル -nを付けると、実行せずにファイル内の構文解析(エラーの有無のチェック)を行う。[2008-11-29] bash -n スクリプトファイル . スクリプトファイル 現在実行中のシェルと同じシェルを使ってスクリプトを実行する。 スクリプトの中で環境変数を設定した場合、現在のシェルの環境にも影響する (スクリプトの中で定義した環境変数が実行元でも有効になる)。 ファイルに実行権限(chmod +x)が付いている場合は、以下のようにして実行できる(相対パスで指定している)。 ./スクリプトファイル ファイルに実行権限(chmod +x)が付いており、かつ環境変数PATHにカレントディレクトリ「.」が含まれている場合は、以下のようにして実行できる。 スクリプトファイル シェルスクリプトの書

  • 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
  • もっとLinuxを使いこなしたい人のために――“応用力”をつけるためのLinux再入門[シェルスクリプト挑戦編(1)]

    Linux OSを使う上での大きな魅力の一つが「シェルスクリプト」です。シェルスクリプトでは、よく実行するコマンドをまとめたり、繰り返し処理を簡単に行ったりするなど、さまざまな形で応用することができます。シェルスクリプトを活用することで、Linux上での作業を大幅に効率化することも可能になります。 シェルスクリプトでは、何度も使用したいコマンドやオプションの組み合わせを記述しておく他、条件分岐や繰り返しなどの「制御構文」を使って複雑な処理を行わせたり、定期的に自動実行させるようにしたりするなど、さまざまな用途が考えられます。 今回は、@IT eBook第51弾に続いて、Linuxをもっと使いこなしたいという人のために、連載『“応用力”をつけるためのLinux再入門』から、シェルスクリプトを解説した記事10回分を「シェルスクリプト挑戦編(1)」として一冊にまとめました。 シェルスクリプトを扱

    もっとLinuxを使いこなしたい人のために――“応用力”をつけるためのLinux再入門[シェルスクリプト挑戦編(1)]
  • bashスクリプティング研修の資料を公開します - エムスリーテックブログ

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

    bashスクリプティング研修の資料を公開します - エムスリーテックブログ
  • シェルスクリプトの代わりにPythonを使う - オープンソースこねこね

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

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

    12月にTwitterに流れていたPOSIX何とかという話題を読んでいたらこの記事にたどり着いた。もう3年以上前の記事だけれど、内容がとても偏っていると思う。 シェルスクリプトの書き方について解説しているウェブ上の資料は少なく、当該記事も検索に引っかかりやすい。最近の初学者はまず検索して調べることが多いが、反論が検索に引っかからないとそれが正しいと受け入れてしまう可能性が高いように思う。きちんと反論している日語の記事が引っかからないので、あえて問題と思う点をまとめてみた。 そんなこと書いているあなたは誰? わたしはシェルスクリプトの専門家でも職業プログラマでもないけれど、シェルスクリプトを書いた量はそれなりにあると思う。環境はSunOS4, Solaris, HP-UX, IBM AIX, FreeBSD, OpenBSD, Linuxを経験していて、移植性や性能の問題がどこで発生しやす

  • シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」

    LINQ in Unity LINQ to GameObject - https://github.com/neuecc/LINQ-to-GameObject-for-Unity/ UniRx - https://github.com/neuecc/UniRx

    シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
  • 日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → -d 'N days ago' オプションで N 日前の日付を取得できる。 Linux では拡張された GNU date コマンドが使用できるので、簡単に過去の日付を取得できる。 $ date 2007年 6月 2日 土曜日 23:05:20 JST #↑そのまま実行すると当日の日時が表示される。 $ date -d '1 days ago' 2007年 6月 1日 金曜日 23:05:31 JST #↑1日前を指定すると、現在日時から24時間前の日時が表示される。 「GNU date」が使用できない場合 → 一時的に環境変数 TZ を変更した上で date コマンドを実行する。 古い UNIX マシンなどでは、「GNU date」が使用できない場合が多い。そういった環境では、一時的にタイムゾーンを変更して date コマンドを実行することで、過去の日付を取得することができる。 $ e

    日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 1