並び順

ブックマーク数

期間指定

  • から
  • まで

601 - 640 件 / 789件

新着順 人気順

shの検索結果601 - 640 件 / 789件

  • シェルスクリプト用のPOSIX準拠で高速な前ゼロ削除とtrim関数の実装 〜それ本当に外部コマンド(sed,awk,tr)が必要ですか?〜 - Qiita

    シェルスクリプト用のPOSIX準拠で高速な前ゼロ削除とtrim関数の実装 〜それ本当に外部コマンド(sed,awk,tr)が必要ですか?〜ShellScriptBashshellPOSIX はじめに この記事は「シェルスクリプトは ((i=i+1)) ではなく i=$((i+1)) で計算しなければいけない!という話」を書いた時に、そう言えば算術式($((...)))では頭に 0 がついた時に 8 進数とみなされるというささいな問題がありましたねーということで、その解決方法と一般化すればこれは前から書こうと思っていた外部コマンドを使わない trim 関数の実装の話なので、ついでにそれらを紹介する記事です。 このような処理をする場合に外部コマンドを使って実装する人が多いですが、実はシェルのパラメータ展開を利用すればシェルの機能だけで実装することができます。そしてデータが十分小さい場合にはその

      シェルスクリプト用のPOSIX準拠で高速な前ゼロ削除とtrim関数の実装 〜それ本当に外部コマンド(sed,awk,tr)が必要ですか?〜 - Qiita
    • Codecovのセキュリティアップデートの対応~iOS編 - sanadamaru's blog

      コードのカバレッジの計測や可視化をするためにCodecovを使用しているのですが、4/30にCodecovからセキュリティの問題があったと公表したことを知らせるメールが届きました。 On Thursday, April 1st, we learned that someone had gained unauthorized access to our Bash Uploader script and modified it without our permission. The actor gained access because of an error in Codecov’s Docker image creation process that allowed the actor to extract the credential required to modify our Bas

        Codecovのセキュリティアップデートの対応~iOS編 - sanadamaru's blog
      • OS 問わず Bash で一括リネームする - Neo's World

        OS 問わず Bash で一括リネームする Bash でファイル名を一括でリネームしようと思い、調べ始めたらなかなか混乱していたので、整理する。 目次 Windows Git SDK、Ubuntu Linux、MacOS で同じコマンドを使いたい rename コマンドは OS 間で全く違うので使わない find と sed と xargs mv でリネームする find で処理対象を絞り込む sed でリネーム後の文字列を作る xargs mv で実際に置換する 以上 Windows Git SDK、Ubuntu Linux、MacOS で同じコマンドを使いたい ファイルの一括リネームを実現するにあたって、OS の差異があるのは鬱陶しいので、どの環境でも同じコマンドでリネームできる方法を探すことにする。 Windows 環境では、自分は Git For Windows (GitBash)

        • 【Linux】シェルスクリプトにおける && と || の違い - Qiita

          複数コマンドをAND演算で実行する && bashシェルスクリプト上では && はAND制御演算子である。 以下の場合、command1が成功したらcommand2を実行する。 エラーが起こった時の挙動 ; でコマンドを連結する場合、コマンド1がエラーであっても、次のコマンドが実行されるが、 && で連結した場合はエラーが起きた時点で動作が停止する。 複数コマンドをOR演算で実行する || || はOR制御演算子である。 指定したコマンド1が異常終了した時に、それに対処する形でコマンド2を実行できるので、 主に事後のエラー処理などを行なう時に使える。 以下の場合、command1が失敗した場合command2を実行します。

            【Linux】シェルスクリプトにおける && と || の違い - Qiita
          • シェルスクリプトのforループでフォルダやファイルを一括処理|dot blog

            ディレクトリ内の全てのフォルダやファイルに対してシェルスクリプトのforループを回し一括でコマンドを実行していく方法を解説します。フォルダやファイルの数が多いものに対して手動で実行していくと大変時間がかかりますので効率化しましょう。 効率化この記事は約 分で読めます。(文字) シェルスクリプトでフォルダやファイルを一括処理する方法シェルスクリプトでコマンドを実行するときにフォルダ単位やディレクトリ内の全ファイルに対して一括で処理を行いたい場合はforループを使うことで実行できます。 カレントディレクトリ内のファイル一覧とディレクトリ一覧を配列で取得まずは一括処理を行いたいカレントディレクトリ内のフォルダやファイルの一覧を配列で取得します。取得した配列データをforでループさせて確認してみましょう。 まずはシステムへ今からシェルスクリプトを記述しますと知らせるために、お約束の1行を用意します

              シェルスクリプトのforループでフォルダやファイルを一括処理|dot blog
            • SC2162 · koalaman/shellcheck Wiki · GitHub

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                SC2162 · koalaman/shellcheck Wiki · GitHub
              • 細かすぎて伝わらないシェルのhistory テクニック - Qiita

                が表示されるので、最近実行したコマンドをもう一度見たい(実行したい)なんていうときには、上で戻るのがベストです。Emacs キーバインドであれば当然 Ctrl + p でOK その2 Ctrl+r を押すと back incremental search ができます。 zsh では bck-i-search と略され、bash では reverse-i-search と略されるやつです。これは文字通り、コマンドヒストリーに対して逆順(back / reverse)にインクリメンタルにコマンドを検索してくれます。 インクリメンタルとは、文字を入力するたびに検索を実行してくれるということで、例えば、先程の例であれば、 Ctrl+r を押しと

                  細かすぎて伝わらないシェルのhistory テクニック - Qiita
                • Readline Cheat Sheet

                  For detailed information see the GNU Readline library manual or type man readline. For information about Readline in Bash type man bash and search for ^READLINE or Commands for moving.

                  • HTTPリクエストと(Postgre)SQLを自動化するスクリプトを書いてみた - Qiita

                    Help us understand the problem. What is going on with this article?

                      HTTPリクエストと(Postgre)SQLを自動化するスクリプトを書いてみた - Qiita
                    • [zsh] macOS Catalina で default shell をbash から zshに変更してみた | Qrunch(クランチ)

                      macOS でデフォルトのログインshellをzshに変更する 先日VS Code を使っていたら、なんかmacOS の標準shellがzshになりましたよー 的なダイアログが出て、せっかくなのでVS Code上でTerminal を開くときzshが使われるようにしました。 後で調べてみたらzshがbashの上位互換らしいということがわかったので、 どうせならOSのデフォルトshell自体もzshに変更してみようと思い、 実際に変更した過程を備忘録として残しておきます。 参考にしたサイト Catalinaでデフォルトシェルが「zsh」に変わる、bashとの違いは? Use zsh as the default shell on your Mac Macのターミナルで最初のコンピューター名・ユーザー名を消す 実際に行ったこと デフォルトshellの変更 まずはいつも通りTerminal(ba

                        [zsh] macOS Catalina で default shell をbash から zshに変更してみた | Qrunch(クランチ)
                      • UNIXのリダイレクトについてのまとめ - Qiita

                        コマンドの実行結果をファイルなどに残す場合にリダイレクト(>)をよく使うと思うが、 使用方法について色々あり、毎回ググってる気がするのでまとめてみた。 標準エラーと標準出力について 今更だがUNIXでは標準エラー出力と標準出力が存在する。 一般的に各コマンドのエラーなどは標準エラーに吐かれる。

                          UNIXのリダイレクトについてのまとめ - Qiita
                        • 開発チームの一体感を出すために専用のバーチャル背景を作ろうとしたら、いつの間にかシェルスクリプトを触っていた話

                          この記事は、Magic Moment Advent Calendar 2023 17日目の記事です。 どうもこんにちは、Magic Moment の @morishin です。 お前は一体何を言っているんだ? タイトルだけでは何を言っているか分からないと思うので説明します。 弊社のアドベントカレンダーページにも載っているコレ。 コレは見ての通りコマンドの実行結果 (標準出力) で、元々は開発チーム専用のバーチャル背景画像として作り始めたものでした。 「バーチャル背景画像からなんでシェルスクリプト?」とお思いでしょうから順番にご説明します。 そもそもバーチャル背景画像を作ることになった経緯 時は遡ること今年の1月。開発チーム [1] を盛り上げるための企画を考えることになりました。 人も増えてきたことだし、今まで以上にチームの一体感を出していこう。もっともっとチームを盛り上げていこう。という

                            開発チームの一体感を出すために専用のバーチャル背景を作ろうとしたら、いつの間にかシェルスクリプトを触っていた話
                          • shellモジュールでエラーをtrapした時のLINENO 変数はモジュールでの行番号 - ritchiekotzen's blog

                            shellのモジュールでエラーが発生した時、 trap して LINENO 変数とか参照すると、モジュールでの行数とか出てきて分かりづらい。 なんかいい手は無いのかな?実行中のファイルを参照できる変数とかないのか?($0だと親シェルのファイル名が出る) test.sm trap 'echo "Error at line ${LINENO}. Command: ${BASH_COMMAND}. Exit code: $?"; exit 1' ERR command() { error # this is line 4. } test.sh #!/bin/sh source ./test.sm command # this is line 6 実行結果 sh test.sh ./test.sm: line 4: error: コマンドが見つかりません Error at line 4. Comm

                              shellモジュールでエラーをtrapした時のLINENO 変数はモジュールでの行番号 - ritchiekotzen's blog
                            • Shell | 複数のキーワードが含まれるファイルを grep で一斉検索する ( find + xargs + grep ) - Qiita

                              $ find ./ -name "*.txt" | xargs -I %FILE% sh -c 'grep first_text >/dev/null "%FILE%" && grep second_text >/dev/null "%FILE%" && echo "%FILE%"'

                                Shell | 複数のキーワードが含まれるファイルを grep で一斉検索する ( find + xargs + grep ) - Qiita
                              • 【シェルスクリプト】オプションパーサーの紹介 - Qiita

                                シェルスクリプトはちょっとした処理を書くのには便利ですが、オプションや引数の制御をしっかり書こうとするとなかなか大変です。 今回は自分がよく利用するオプションパーサーの実装を紹介したいと思います。 ■ 実装 #!/bin/bash function usage { cat >&2 <<EOS コマンドの説明 [usage] $0 <ARG1> <ARG2> [options] [args] ARG1: 第一引数 ARG2: 第二引数 [options] -h | --help: ヘルプを表示 -k | --key: オプション名のみ指定するタイプのオプション -v | --key-value <VALUE>: 値の指定が必要なオプション -r | --required <VALUE>: 必須指定のオプション [example] $0 hoge fuga -r piyo EOS exit 1

                                  【シェルスクリプト】オプションパーサーの紹介 - Qiita
                                • rsyncを使ったフルバックアップ

                                  今更rsysncで手動で取るのはどうか?という声もあると思います。 確かにtimeshiftという文明の利器や、baculaのような高度なバックアップサーバーもありますし、 vpsでもサーバーのフルバックアップを簡単にしかも安価に取れるサービスもあります。 しかし、timeshiftはどちらかというとシステムのスナップショットを取るのが仕事で、 /home、/root以下のバックアップは非推奨なのでユーザー配下はrsyncでバックアップを取ることになったり、Gentooだとtimeshiftがまだtestingパッケージで使いづらいなどの欠点があり、 baculaだと個人、小規模、中の小規模程度までならやり過ぎで管理コストのほうが高そう など帯に短し、たすきに長しという状況だったりします。 ゼロから自分でフルバックアップ,差分バックアップのコードを書くのは そこそこ大変かつ、スキルが必要に

                                    rsyncを使ったフルバックアップ
                                  • xargsで処理の間にsleepを挟む - Qiita

                                    $ cat hoge | xargs -I 'echo {}; sleep 1;' $ cat hoge | xargs -I % sh -c '{ echo %; sleep 1; }' Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up

                                      xargsで処理の間にsleepを挟む - Qiita
                                    • 【Java】【Tomcat】 Tomcat を Java から 開始・停止 する ~その2~ - プログラム の超個人的なメモ

                                      2-1) バッチ/シェルを直接起動する * 外部コマンドを実行する / ProcessBuilder * Java1.5から 外部コマンドを実行できる ProcessBuilder を使用して、 バッチ/シェルを実行する http://blogs.yahoo.co.jp/dk521123/34842155.html サンプル TomcatStartter.java * Tomcat の開始 public class TomcatStartter { public static void main(String[] args) { try { String command = "C:/tomcat/tomcat8/bin/startup.bat"; ProcessBuilder processBuilder = new ProcessBuilder(command); Process pro

                                        【Java】【Tomcat】 Tomcat を Java から 開始・停止 する ~その2~ - プログラム の超個人的なメモ
                                      • 【Linux FAQ】シンボリックリンクのリンク先を取得するにはどうすればいいですか?

                                        シンボリックリンクは便利ですが、リンク先がさらにシンボリックリンクだったり、パス中のディレクトリがシンボリックリンクだったりすることもあるため、自力で実ファイルまでたどるのは面倒です。 そこで便利なのが、「realpath」コマンドです。引数に指定したファイルやディレクトリの実体を探して出力してくれます。 以下の例では、「/usr/bin/vim」(シンボリックリンク)→「/etc/alternatives/vim」(シンボリックリンク)→「/usr/bin/vim.nox」(実ファイル)となっていますが、「realpath /usr/bin/vim」と実行するだけで、リンク先のリンク先である「/usr/bin/vim.nox」を一発で出力してくれています。

                                          【Linux FAQ】シンボリックリンクのリンク先を取得するにはどうすればいいですか?
                                        • Linuxサーバへのssh接続(3)Linux端末からの接続 | Watanabe Laboratory

                                          学内のLinuxマシンから学外のLinux仮想サーバーへ、公開鍵認証によるssh接続の方法を説明します。公開鍵と秘密鍵のペアを作成し、秘密鍵は手元のPCに置き、公開鍵をサーバー管理者に送って、サーバーにアカウントを用意してもらいます。 1. ssh-keygenコマンドによる鍵の作成 $ ssh-keygen -t rsa とコマンドを入力すると、鍵ファイルの名前をどうするか聞かれる。 $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/******/.ssh/id_rsa): デフォルトのファイル名でよければ何も入力せずにenterキーを押す。すると鍵ファイル使用時に聞かれるパスフレーズの入力を求められる。 $ ssh-keygen -

                                          • fishとbash、シェルスクリプトを書くときの違いメモ

                                            fishを使い始めたのですが、シェルスクリプトを書くときに文法が違うんですね。 すぐ慣れると思いますが、私が最初につまずいた部分をまとめました。 ANDとOR fishでは、&&、||の代わりに、「; and」「; or」を使います。 【AND】 bashの場合: command1 && command2 fishの場合: command1; and command2 【OR】 bashの場合: command1 || command2 fishの場合: command1; or command2 大文字、小文字は区別しないので、 command1; AND command2 command1; OR command2 とも書けます。 シェル変数 変数に値をセットするのは「set」を使います。 bashの場合: FOO="bar" fishの場合: set FOO "bar" 変数を削除す

                                              fishとbash、シェルスクリプトを書くときの違いメモ
                                            • ファイルの文字コードをMacのターミナルで確認する&変換する - Qiita

                                              ここでunknown-8bitと出てきたのでドキッとしてしまいましたが、unknown-8bitはShift_JISのことだそうでホッと一安心。 文字コードを変換する 文字コードを変換するにはnkfコマンドを使います。 //未インストールの場合、Homebrewでnkfをインストール $ brew install nkf //ファイルをShift_JISに変換(上書き保存)する $ nkf -s --overwrite ファイル名 //ファイルをUTF-8に変換(上書き保存)する $ nkf -w --overwrite ファイル名 いろいろなcharset 上記のコマンドをテストしようとして適当にテキストファイルを作成したところ、コマンドはもちろんエディターの設定をいろいろ変えて保存してもfile --mimeでの出力結果がずっとus-asciiになってしまい、大いにハマりました。 原因

                                                ファイルの文字コードをMacのターミナルで確認する&変換する - Qiita
                                              • Bashの便利な構文だがよく忘れてしまうものの備忘録

                                                Bashでスクリプトを書く場合のポイントをまとめた Bashなどで書くシェルスクリプトは文法がシンプルで覚えると便利。他のプログラム言語だと何行もかかなければならないファイル操作や中身のデータ処理を、ちょちょいと数行レベルで書けとても強力だ。コマンドとの親和性が高い恩恵だろう1。 旧来バッチ処理で本領を発揮するシェルスクリプトだったが、昨今はDocker(Dockerfileや起動スクリプトなど)で活用される機会も多いだろう。 しかしながら他のプログラム言語ではみられない記法があったり、逆に似た書き方もあったりと、混乱しがちなのもシェルスクリプトの特徴かもしれない。 いちいちGoogle先生に確認するのもめんどうなので、このページに整理した2。 主な参照先(よくお世話になっているページ): UNIXの部屋(68user's page) - http://x68000.q-e-d.net/~

                                                  Bashの便利な構文だがよく忘れてしまうものの備忘録
                                                • Redmine - A painter and a black cat

                                                  Redmine¶ RedmineAlbum plugin開発RawHtml plugin開発追加導入したプラグインGoogle Analytics PlugIn BASH Syntax Highlighting(bashのシンタックスハイライトを追加)手順参考 PageMapの追加前提Setuppagemapのダウンロードと配置CSSの追加JavaScriptの追加 役に立ちそうなプラグインメモ Album plugin開発¶ Redmine Album pluginを参照 RawHtml plugin開発¶ Redmine RawHtml pluginを参照 追加導入したプラグイン¶ Google Analytics PlugIn¶ Google Analytics PlugIn http://www.redmine.org/plugins/google_analytics_plugin

                                                  • 直前コマンドの終了ステータスをシグナル名と一緒に表示するBashプロンプト - Ryoto's Blog

                                                    先日、自分も周りのエンジニアに倣って自分の dotfiles を公開した。 https://github.com/ryotosaito/dotfiles その時にステータスの詳細を表示するプロンプトが好評だったのでブログでも公開する。 TL;DR Bash の連想配列を使って終了ステータスとシグナル名をマッピングすれば、覚えてなくても一発で何のシグナルかわかるようになる。 上の画像は自分が使ってるプロンプトだが、余計なものを省いたコードが以下になる。 (Bash 4.0以上のみ対応) PROMPT_COMMAND=__prompt_command __prompt_command() { # 最初に直前コマンドの終了ステータスを記録 local status=$? # SGRパラメータ(文字装飾:色付けを行うためのエスケープシーケンス) local reset='\e[m' red='\e

                                                      直前コマンドの終了ステータスをシグナル名と一緒に表示するBashプロンプト - Ryoto's Blog
                                                    • 世界最大級のミッフィー専門店「ナインチェ」、長崎ハウステンボスに12月1日オープン

                                                        世界最大級のミッフィー専門店「ナインチェ」、長崎ハウステンボスに12月1日オープン
                                                      • Cシェル変数:rmstar: UNIX/Linuxの部屋

                                                        そこで、シェル変数 rmstar をセットしておくと、rm の引数に * を指定したとき、本当に消してもよいかどうか確認を求めてくる。

                                                        • bash:変数への代入の仕方&ファイルの中身を取得する方法備忘録 - 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

                                                            bash:変数への代入の仕方&ファイルの中身を取得する方法備忘録 - Qiita
                                                          • 手軽に多めのデータ移動をするためのワンライナー - MEMOcho-

                                                            ちょっと多めのファイルを手軽に移動させたいときに 早めに終わらせたい場合 nohup bash -c "find <src directory> -type f -mindepth 1 -maxdepth 1 | xargs -t -P8 cp -t <target directory>" & nohupで切れないように xargsに-tをつけてログを出しておく depthのoptionは間違い防止 再帰的にcpされても問題ないなら要らない xargsのPでprocess並列 cpやmvは-tでtarget directoryを先に書けるのでxargsのとき便利 時間がかかってもよい場合はrsyncを使うと進捗がわかりやすく確実 rsync -auz --info=progress2 --no-inc-recursive <src directory>/ <target directory

                                                              手軽に多めのデータ移動をするためのワンライナー - MEMOcho-
                                                            • ニフクラのコンピューティングAPIをbashスクリプトでリクエストする - Qiita

                                                              ニフクラのコンピューティングAPIをbashスクリプトでリクエストするための スクリプトを書きました。 params パラメーターを変更することで、任意のAPIをリクエストできます。 #!/bin/sh urlencode() { # https://qiita.com/ik-fib/items/cc983ca34600c2d633d5 echo "$1" | nkf -WwMQ | sed 's/=$//g' | tr = % | tr -d '\n' } HOST="jp-east-1.computing.api.nifcloud.com" ACCESS_KEY="<YOUR ACCESS KEY>" SECRET_KEY="<YOUR SECRET KEY>" TIMESTAMP="`date -u +'%FT%T.%2NZ' | sed -e 's/:/%3A/g'`" decla

                                                                ニフクラのコンピューティングAPIをbashスクリプトでリクエストする - Qiita
                                                              • シェルスクリプト: 実行中のシェルスクリプトのファイル名を取得する | まくまくLinux/Shellノート

                                                                正確には、$0 に格納されているパスは、そのスクリプト実行時に実際に指定したパスになります。 そのため、どのようにスクリプトを起動したかによって結果が変わってきます。 ### 絶対パスで起動した場合 $ /Users/maku/sample.sh /Users/maku/sample.sh ### 相対パスで起動した場合 $ cd /Users $ maku/sample.sh maku/sample.sh ### カレントディレクトリのスクリプトを起動した場合 $ ./sample.sh ./sample.sh ### sh コマンドのパラメータで起動した場合 $ sh sample.sh sample.sh

                                                                  シェルスクリプト: 実行中のシェルスクリプトのファイル名を取得する | まくまくLinux/Shellノート
                                                                • パイプで受け取った標準入力を列ごとに読みこんで配列っぽく処理したい - Crieit

                                                                  最近、古いシェルスクリプトをリファクタリングしたので、そのときに使ったテクニックをここに残しておく。 コマンドをパイプでつないで、最終的に出力を行単位で読み込みたいときがある。例えば、以下のlsコマンドの出力から一番ファイルサイズが大きいやつを選びたいとする。 $ ls /tmp/ total 28 ... drwx------ 2 root wheel 64 10 8 01:25 KSDownloadAction.dFCyHsIUZR -rw-r--r-- 1 root wheel 0 10 9 23:35 wetrsmuoutpDmR5aR -rw-r--r-- 1 root wheel 0 10 9 23:36 wetrsmuoutpalIXOW ... レガシー(というかマナーが悪い)なコードだとこんな感じになる。 #!/usr/bin/env bash set -eu OLD_I

                                                                    パイプで受け取った標準入力を列ごとに読みこんで配列っぽく処理したい - Crieit
                                                                  • Bashの入出力リダイレクトまとめ - Qiita

                                                                    # 入力 command < file # ファイルの内容をコマンドの標準入力に渡す #----------------------------------------------------------- # 出力 command >&2 # 標準出力を標準エラー出力にリダイレクト command > file # ファイル作成 or 上書き command >> file # 追加出力。ファイルがなければ作成 command 2> file # 標準エラー出力をファイルにリダイレクト(作成 or 上書き) command &> file # 標準出力/エラー出力を同一ファイルにリダイレクト command > file 2>&1 # 同上 command &>> file # 標準出力/エラー出力を同一ファイルに追加書き込み command >> file 2>&1 # 同上 comm

                                                                      Bashの入出力リダイレクトまとめ - Qiita
                                                                    • シェルスクリプト(Bashスクリプト)でかんたんな自作言語のコンパイラを書いた - Qiita

                                                                      $ wc -l {lexer,parser,codegen}.sh lib/*.sh 220 lexer.sh 655 parser.sh 525 codegen.sh 42 lib/common.sh 193 lib/json.sh 284 lib/utils.sh 1919 合計 echo ' func add(a, b) { return a + b; } func main() { var one = 1; var result; call_set result = add(one, 2); } ' | ./lexer.sh | ./parser.sh | ./codegen.sh # ↓アセンブリが出力される call main exit label add push bp cp sp bp cp [bp:2] reg_a push reg_a cp [bp:3] reg_a p

                                                                        シェルスクリプト(Bashスクリプト)でかんたんな自作言語のコンパイラを書いた - Qiita
                                                                      • 長いコマンドで改行したいならバックスラッシュ(\)を入れる話 | 金融エンジニア

                                                                        こんにちは。 普段はIT業界についてのブログを執筆してるエンジニアです。 » 参考:プログラマーの年収は200万円以下です【IT業界の残酷な成功法則】 » 参考:【一生使える本です】bashの解説書 厳選3選【おすすめ】 今回は、bashについての解説記事です。

                                                                        • bashのファイルID=255 - Linuxの備忘録とか・・・(目次へ)

                                                                          bashプロセスは、ファイルIDを0/1/2の標準入出力/エラー以外に、標準エラーをdupした255のファイルIDを有しています。ただし、子プロセス(コマンド)は、255のファイルIDを継承しません。このファイルIDについててです。 #include "stdio.h" int main() { while (1) sleep(10); return 0; } [root@localhost test]# ./child_of_bash & [1] 1294 [root@localhost test]# ps PID TTY TIME CMD 1183 pts/0 00:00:00 bash 1294 pts/0 00:00:00 child_of_bash 1295 pts/0 00:00:00 ps [root@localhost test]# ls -l /proc/1183/fd/

                                                                          • Dockerコンテナにログインした時にhistoryが使えるようにする

                                                                            参考サイトによってはdocker exec -it 〜 /bin/shとなっていて、それだと矢印が使えなかったりコマンド履歴が使えなくて「ンッ!(苛立ち)」となります。 じゃあどうすればいいの、という話です。 結論bashを指定してください。 詳細docker ps -aでコンテナのIDを確認します。 docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 16ba7939f9c1 phpmyadmin/phpmyadmin:latest "/docker-entrypoint.…" 46 minutes ago Up 46 minutes 0.0.0.0:8080->80/tcp docker_study2_phpmyadmin_1 46b21aadcb38 docker_study2_php "docker-

                                                                              Dockerコンテナにログインした時にhistoryが使えるようにする
                                                                            • reptyrで動作中のプロセスを別のptyにアタッチする - Qiita

                                                                              sshでログイン ↓ vimでファイル編集 ↓ ssh切れる ↓ ssh再度ログイン ↓ 再びvimでファイル編集しようとすると、.swpファイルがある ↓ psで確認すると、サーバ側でsshのセッション残ったまま こういう状態で、既にクライアント側を終了してしまったsshのセッションで起動しているvimを、いま開いているsshのセッションから横取りしたい。 こういうときはreptyrを使えばいいみたい。 インストール

                                                                                reptyrで動作中のプロセスを別のptyにアタッチする - Qiita
                                                                              • Linuxシェルスクリプト - Linux特殊記号の完全リスト - BinaryDevelop

                                                                                Linuxの特殊記号の完全なリスト シェルでよく使われる特殊記号の一覧は以下のとおりです。 # ; ;; .      , / '文字列'| !   $ ${} $?      $$ $* "string"* ** ? ^ $# $@ `command`{}. [] [[]] () (()) ||| && {xx,yy,zz,...}のようなものです。~ ~+ ~- & \<... \♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪~ = # Well番号(コメント) これは、すでに前述した"first line"を除いて、ほぼ全フィールドに存在する記号である。 #! /bin/bash また、ウェル記号は行頭やコマンド全体の後によく現れますが、これは記号の後に実行されないコメント文が続くことを示します。 # この行はコメントです。 echo "a = $a" # a = 0

                                                                                • Bashでよく使う便利な構文

                                                                                  bashの文法はとてもシンプルで覚えやすいが、一部の構文が似ているため、 よく忘れてしまうものを整理し、今後の参照となります。 ${0##*/}と${0%/*}の意味 実際に使って、効果を見ながら、覚えましょう。事前に以下の変数を定義し、構文を使います。 # fileName=/tmp/kobun/test.file.csv ${}で事前に定義した変数の内容から以下の値を取得できます。 フルパスから最初のスラッシュ「/」までの内容を除外できる方法 echo ${fileName#*/} 結果; tmp/kobun/test.file.csv フルパスから最後のスラッシュ「/」までの内容を除外できる方法 echo ${fileName##*/} 結果: test.file.csv フルパスから最初のドット「.」までの内容を除外できる方法 echo ${fileName#*.} 結果; fil

                                                                                    Bashでよく使う便利な構文