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
シェルスクリプトで相対パスと絶対パスを取得する方法です。 相対パスを取得する シェルスクリプトでディレクトリの相対パスを取得するには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
はじめに 日本時間の8月3日から提供が開始されたWindows 10のAnniversary Updateで、ついにBashがやってきました。 これでいろいろなストレスから解放されるはず。さっそくインストールして、使ってみましょう! 2017/11/02追記 Windows 10 Fall Creators Updateにおいてインストール作業が簡略化されました。 また、名称も「Bash on Ubuntu on Windows」から「Windows Subsystem for Linux」に変更されています。 旧バージョンをお使いの方にもわかるようにその都度注釈を入れていきます。 機能の有効化 まず、Windows側でLinux Subsystemを有効化する必要がありあす。 スタートボタンを右クリックして、アプリと機能をクリックします。 さらに、右上にあるプログラムと機能をクリックしま
「"」(ダブルクォーテーション)、 「'」(シングルクォーテーション)、 「`」(バッククォーテーション)にも違いがあります。 変数 name に"pwd"という値を設定。 この変数 name をそれぞれで囲みechoを実行する ・「"」ダブルクォーテーションの場合 $echo "$name" pwd 「"」は変数の中身を表示します。 ・「'」シングルクォーテーションの場合 $echo '$name' $name 「'」は文字列をそのまま表示しています。 ・「`」バッククォーテーションの場合 $echo `$name` /usr/local/test 「`」は変数の中身をコマンドとして実行しています。
マイクロソフトのハンセルマンのBlog: Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10 Ubuntuの中の人のBlog: Ubuntu on Windows — The Ubuntu Userspace for Windows Developers この2つのBlogで実態が明確になったのでまとめてみます。 使用可能になるOSまもなくリリースされる予定のWindows 10 ”Anniversary” アップデートで使用可能になります。このアップデートで、開発者向けの機能として追加されます。 機能の追加で、Windowsの設定で開発者モードを有効にすると使用できるようになります。これでネイティブなユーザー モードのLinuxシェルが使えるようになり、bashを起動するとWind
バッチのまとめTOPへ bash 初級者は,簡単なコマンドが並んだだけの小さなスクリプトを書くことができる。 しかしシェルの動作原理をよく理解しておらず, 一歩進んだことをやろうとするとつまずく。 シェルスクリプトの中級者になるためには, Linux上でシェルが動作する仕組みを体系的に理解しておく必要がある。 (1) シェルとコマンドについて (1−1) シェルとは,OSに命令を出すために,OSを包んでいる外膜である。 (1−2) Linuxログイン時には,そのユーザ用のログインシェルが起動する。 (1−3) ユーザが打ち込んだコマンドは,実行前に,bashによって整形される。 (1−4) コマンドの先頭の文字列は,実行可能ファイルか,またはbashの組み込みコマンドである。 (2) コマンド間の連携について (2−1) コマンド呼び出しとは,サブプロセスの生成である。 (2−2) 親プロ
概要 bashの記法は独特なものが多く毎回ググってしまうのでまとめて(と言いつつまとまりがないですが。。。)おこうと思います。 ある程度まとまってからpostしようとか思ってたらごちゃごちゃになっちゃいました。 bashで使えるという意味なのでposixシェル共通のネタも混ざってます。 随時更新します。参考になれば幸いです。 参考 man bash リファレンスマニュアル Advanced Bash-Scripting Guide カッコ色々 bashでは色々なカッコがありますが、よく違いが分からず使っていたりするのでまとめてみます。 []と[[]] []はtestコマンドのaliasです。[[]]じゃないとできないこととしては、以下のようなものがあります。 空白を含む文字列をクォートしなくてOK var='abc 123' # []の中だとクォートしないとエラーになる [ $var =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く