タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

bashに関するArahabicaのブックマーク (18)

  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • Bash scripting cheatsheet

    This is a quick reference to getting started with Bash scripting. Learn bash in y minutes (learnxinyminutes.com) Bash Guide (mywiki.wooledge.org) Bash Hackers Wiki (wiki.bash-hackers.org)

    Bash scripting cheatsheet
    Arahabica
    Arahabica 2019/02/06
    “Read”
  • Sublime Text3をコマンドラインから開くようにする - Qiita

    Sublime Text3のパッケージ内にsublコマンドがおいてある。 /Applications/Sublime Text.app/Contents/SharedSupport/bin/subl これにファイルを渡せばSublime Text3で開ける。 これを直接コマンドラインで叩くには ~/.bash_profile とか ~/.profile とかに alias を定義する パスの通っているところにシンボリックリンクを貼る パスの通っているところにコピーする この記事では2でやってみる。 基的に自分がインストールしたコマンドは/usr/local/binに置かれるので、それに倣う。

    Sublime Text3をコマンドラインから開くようにする - Qiita
  • コマンド実行結果を入れた変数を出力するとき、改行をそのままにする | クロジカ

    ホーム / ハック / コマンド実行結果を入れた変数を出力するとき、改行をそのままにする

    コマンド実行結果を入れた変数を出力するとき、改行をそのままにする | クロジカ
  • Bashで文字列をエスケープをする - Qiita

    Bashで文字列をエスケープするのは案外面倒くさい。 そういえばシェル文字列をエスケープするコマンドとかありそうなのに知らないし…。まぁ僕が知らなかっただけで元からあるよって場合は誰か教えて下さい。 結論を先に書いておくと、今時の新規スクリプトは printf %q "$v" を使うのが一番確実かなと思う。Bash 4.3未満で~がエスケープされないバグとかあったけど未来の保守だけ考えれば良くて過去に持ち帰る必要が無いという要件が殆どだろうしやらないよりは1万倍マシ。 手順 面倒とはいえやらなきゃいかん。 で、とりあえず 'シングルクオート最強! $a "ho ge"' てな感じでシングルクオートで囲っておけば日語や空白文字や変数やダブルクオートとかが入ってても何でもそのまま文字列として扱える。これは特定文字にバックスラッシュを付けるとかよりよっぽど簡単だし、簡単ということはミスや漏れも

    Bashで文字列をエスケープをする - Qiita
  • Reliable way for a Bash script to get the full path to itself

    I have a Bash script that needs to know its full path. I'm trying to find a broadly-compatible way of doing that without ending up with relative or funky-looking paths. I only need to support Bash, not sh, csh, etc. What I've found so far: The accepted answer to Getting the source directory of a Bash script from within addresses getting the path of the script via dirname $0, which is fine, but tha

    Reliable way for a Bash script to get the full path to itself
  • シェルスクリプトで相対パスと絶対パスを取得する - TASK NOTES

    シェルスクリプトで相対パスと絶対パスを取得する方法です。 相対パスを取得する シェルスクリプトでディレクトリの相対パスを取得するにはdirname $0を使います。 特殊変数の$0には現在実行しているシェルスクリプトの相対パスが格納されて、dirnameコマンドは引数に与えられたファイルのパスから、ディレクトリのパスを取り出します。ちなみにbasenameコマンドは逆にファイル名を取り出してくれます。 例えば以下のシェルスクリプトが/Users/username/dev/work/relative.shにあるとします。 #!/bin/sh echo $0 echo `dirname $0` echo `basename $0` これをホームディレクトリ/Users/usernameから実行すると次の結果になります。 $ sh dev/work/relative.sh dev/work/te

    シェルスクリプトで相対パスと絶対パスを取得する - TASK NOTES
  • 巨大なファイルをシェルスクリプトで読む時 - Qiita

    ちょっと2000万行くらいのcsvを読む機会があって、その時の小ネタ。 注釈追記) コメントでも書いたんですけど、コマンド置換で cat でファイル開いて for にわせるよりも、 1行ずつ処理するのは while read の方が一般的みたいです。 なんか注釈追記したら非常に実の無い記事になってしまったw 中身は こんな感じのが2000万行くらいずらずら続いてる感じ。 "item_id","title","description","price","url","image_url" "11111","たいとる","でぃすくりぷしょん","1000","http://example.com/item/11111","http://example.com/11111.jpg" "22222","たいとる2","でぃすくりぷしょん2","2000","http://example.com/i

    巨大なファイルをシェルスクリプトで読む時 - Qiita
  • curlでbashスクリプトを実行して引数も与える - ls [internet]

    curl -L https://www.chef.io/chef/install.sh | bash -s -- -v 12 まあこういうやつですね。 bashのオプション Man page of BASH -s -s オプションが指定された場合と、 オプションを全て処理した後に引き数が残っていなかった場合には、 コマンドは標準入力から読み込まれます。 このオプションを使うと、 対話的シェルを起動するときに 位置パラメータを設定できます。 -- -- はオプションの終わりを示し、それ以降のオプション処理を行いません。 -- 以降の引き数は全て、ファイル名や引き数として扱われます。 引き数 - は -- と同じです。 [改訂新版] シェルスクリプト基リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus) 作者: 山森丈範出版社/メーカー: 技術評論

    curlでbashスクリプトを実行して引数も与える - ls [internet]
  • 逆引きシェルスクリプト/if文の条件式でand, or, notを使う方法 - Linuxと過ごす

    2023-04-25 逆引きUNIXコマンド 逆引きUNIXコマンド/ターミナルで動作するビジュアルなストレージ使用容量確認コマンド 2022-12-12 Ubuntu/GUI操作のWakeOnLAN・gWakeOnLan Ubuntu 2022-12-05 Ubuntu/Ubuntu22.04でデスクトップのアイコンのサイズを変更する手順 2022-08-25 Xubuntu/画面が勝手にオフされる場合の対処方法 2022-08-11 Xubuntu 2022-07-26 Linux環境設定/Windowsネットワークの名前解決と共有フォルダアクセス方法 2022-07-25 Xubuntu/Thunarでssh(sftp)接続しファイルブラウズする手順 2022-07-20 ソフトウェア/デスクトップ/Plankの設定画面を表示する ソフトウェア/デスクトップ ソフトウェア 2022-

  • [Bash] ファイルやディレクトリの存在をチェックする方法

    Bashで、ファイルやディレクトリの存在を確認する方法を紹介します。 if testによる確認方法 ファイルやディレクトリの存在を確認するには、以下の構文を使います。 if [ -e パス ]; then # 存在する場合 else # 存在しない場合 fi 「パス」の部分に、チェックしたいファイルやディレクトリのパスを指定します。 (実際は、testコマンドを実行することになります。) ファイルtest.txtと、ディレクトリtestdirを用意した状態で、サンプルcheck.shを実行してみます。 test-check-file$ ls check.sh test.txt testdir check.shの内容は以下のとおりです。 #!/bin/bash file=test.txt dir=testdir # test.txtが存在するかチェック if [ -e $file ]; th

  • UNIX : bash

    説明 文字列の長さがゼロかどうかを調べるにはifを使います。条件式で-z 変数名とすると変数内の文字列の長さがゼロかどうか調べることができます。ゼロだった場合にはthen以後の命令が実行されます。 サンプルコード #!/bin/bash str="Sample" if [ -z str ]; then echo "String Error" else echo "String is $str" fi

  • シェルスクリプトを書くときに気をつけていること(その1) - mikedaの日記

    初級者向けに『自分がシェルスクリプト書くときに気をつけていること』をまとめてみました。 @masudaKの『シェルスクリプトを書く際に気を付けていること8箇条』の乗っかりエントリです。 内容は重複しないように書いてますので合わせて読んでください! 基的にLinuxの/bin/sh、/bin/bashを想定しています。 テキスト処理は標準入力から受け取って標準出力に出す テキストを扱う小さなツールを作りましょう。 引数はオプション情報を渡すのに使います。 そうすればgrep、sort、uniqなどの便利なコマンドとパイプで連携できます。 grep ERROR /tmp/test.log | my_cmd1.sh 192.168.1.1 | sort 全てを実行する1つのスクリプトを作るのはたいへんだし、応用が効かないです。 人間に伝えたいメッセージは標準エラー出力に出す パイプでつないだ時

    シェルスクリプトを書くときに気をつけていること(その1) - mikedaの日記
  • sedで/の置換をエスケープなしでやりたい - 256bitの殺人メニュー

    おっさん力その2。 sedでパス名の置換したい時に、/のエスケープすんのがめんどくさいって言ってた人がいたんで。 エスケープ #!/bin/bash for i in `ls /usr/local/` do echo ${i} | sed "s/\/usr\/local\///" done↓結果 bin etc games include lib man sbin share srcこれでもいいんですけど、ごちゃってしてみづれーですよね。 エスケープしない よく知られてないのかはわかりませんが、実は、s/の/部分の記号はなんでもいいのです。 ということで、このようにもかけます。 #!/bin/bash for i in `ls /usr/local/` do echo ${i} | sed "s#/usr/local/##" doneでも行けます。 まあ このパターンならbasename使

    sedで/の置換をエスケープなしでやりたい - 256bitの殺人メニュー
  • sourceコマンドとbashコマンドについて - こんにちは。現在Linux初心者でコマンドの勉強をしているものです。たとえば、viエデ... - Yahoo!知恵袋

    現在ログインしているシェルは、一つの bash プロセスで動作しています。(ログインシェルが bash の場合) source コマンドは、ログインで使用している bash プロセス自身が読み込んで動作します。 bash コマンドは、もう一つ bash プロセスを起動し、そちらで動作します。 どちらも同じ bash プロセスで動作しているので、質問の場合だとどちらでも同じですよ。 使い分けの注意点は、シェルの中で環境変数を定義するように作成しても、 source コマンドで実行すれば現在ログインしているシェルに反映されますが、 bash コマンドだと自分自身に反映されてもそのシェルが終了すると bash も終了するので、 現在ログインしているシェルには反映されません。 環境変数を定義しようとしている以外は大抵 bash で起動しますね。 例) export TEST=sample 上記を

    sourceコマンドとbashコマンドについて - こんにちは。現在Linux初心者でコマンドの勉強をしているものです。たとえば、viエデ... - Yahoo!知恵袋
  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • bash でシェル変数が定義されているかを判定する方法は?

    bash でシェル変数が(nullかどうかではなくて)定義されているかを判定したいと思って、調べたのですが、エレガントな方法がみつかりませんでした。 最初は、 if [ "${VAR:-UNDEF}" = "UNDEF" ] ; then ... fi だろうかと思ったのですが、VAR="" の時も真となってしまうので、微妙に違いました。それと、実際には無いはずとしても VAR="UNDEF" だったら、意図しない状況になってしまうのが引っかかります。処理内容によってはセキュリティホールのタネにもなるのではないか。 書籍調査/ネット検索の末に、 if ! set | grep -m 1 -q ^VAR= ; then ... # VARが未定義の場合に行う処理を記述 fi とするしかなさそうなのですが、もっとエレガントな方法は無いものでしょうかね。現在のマシンでは大した処理コストではないで

  • なんにもない (です): bashで正規表現でif文で条件分岐で

    でででので プログラミングってfor文とif文が使えれば大体のことはできますよね bashのif文についてここにメモ bashのif文すごいメンドクサイんだね 一つでもスペース抜けてると構文エラー if [ element1 比較演算子 element2 ];then hoge elif [ element3 比較演算子 element4 ];then hogehoge else hogehogehoge fi 条件式の行はスペースまで忠実に 比較演算子は 数値の場合 -eq ← = -ne ← != -le ← <= -ge ← >= -lt ← < -gt ← > tex使ってるからこれはすぐ覚えれる あと,AND条件とOR条件 -a ← and(&&) -o ← or(||) もメモっておく 文字列の場合 = ← = != ← != そのまんま 文字列の場合,正規表現を用いて比較を行

  • 1