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
I developed an algorithm for a fairly hard problem in mathematics which is likely to need several months to finish. As I have limited resources only, I started this on my Ubuntu 12.04 (x86) laptop. Now I want to install some updates and actually restart the laptop (the "please reboot" message is just annoying). Is there a way to save an entire process including its allocated memory for continuatio
ヒアドキュメントはシェルスクリプトの中にちょっとした別のスクリプトを埋め込むときに便利です。 数行のスクリプトのためにわざわざファイルを作る必要がなくなり、見通しがよくなります。 # ちょっとしたスクリプトを動かすのに便利 # 例) oracleDBのテーブル一覧を出力する sqlplus -S user/pass@sid << EOS set pagesize 0 set feedback off select table_name from tabs order by table_name; EOS 要点 ヒアドキュメントを理解するうえで重要なのは、ヒアドキュメントは標準入力として扱われる、ということです。 文字列リテラルでないことに注意してください。 これを把握していれば、最初の例でcatにヒアドキュメントを渡していた理由がわかるかと思います。 catはファイルを省略した場合に標準入
<- Back to the HOWTO section How to use bash-completion Audience: All users Requires: - Introduction bash-completion is a set of bash scripts which enables customized completion for specific commands. This is not just for files and directories, but also e.g. for the commands of port. So you type port <Tab> and get a list of all possible commands. Installation Step 1: Install bash-completion $ sudo
すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の
bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である
最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、
Linuxを使っていて、操作ログを見たいときがよくあります。 しかし、historyコマンドをデフォルトのままで使うと、少し不便だったりするので、操作ログを簡単に取れるようにしたいと思います。 パッと思いつくのは、以下の数点ぐらいでしょうか。 ・historyコマンドを使う ・scriptコマンドを使う ・psacctパッケージを使う ・teratermとかのターミナルアプリのロギング機能を使う ちなみに、利用環境は「CentOS 6.4」で、利用シェルはbash (ver4.1.2)です。 それぞれの内容を下書きで書き出すと止まらなくなったので(笑)、今回は「お手軽に記録を残す」ことができそうな、 「historyコマンドを使う」 を、デフォルト設定から少し変更して、操作ログを取るようにしてみます。 ※ちょっと前提条件 お手軽に実現したいので、「30日間は確実に詳細なログを取る」とか細か
ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基本的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く