Linux シェルスクリプト (sh) では、ユーザー定義関数を利用することができるようになっています。 関数の定義と呼び出し 関数を定義するには、次のような書式となります。
Linux シェルスクリプト (sh) では、ユーザー定義関数を利用することができるようになっています。 関数の定義と呼び出し 関数を定義するには、次のような書式となります。
シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。
単純に文字の色が変わるだけではなく、フォントがボールドになったり、背景に色が付いているものもある。 色分け表示オプションの追加 まずは、色分け表示をさせるためのコマンドラインオプションを追加させる。 本物の ls では、 --color という「長い」オプションのみだが、 ここでは、 -C という短いオプションでも指定できるようにする。 本物の ls では、 -C はカラム表示を指示するために使用されているので別の意味になる。 コマンドラインオプションのパース処理に以下のような修正を加える。 const struct option longopts[] = { ... { "color", no_argument, NULL, 'C' }, ... }; while ((opt = getopt_long(argc, argv, "aACFl", longopts, NULL)) != -
「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ
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-
標準出力と標準エラーをファイルに書き出す場合、以下のように指定します。 [root@localhost ]# cat aaa >log 2>&1 [root@localhost ]# cat log cat: aaa: そのようなファイルやディレクトリはありません これを下記のように指定すると上手くいきません。 [root@localhost ]# cat aaa 2>&1 >log cat: aaa: そのようなファイルやディレクトリはありません 標準エラーを標準出力にリダイレクトして、それをlogファイルにリダイレクトするという流れから、下記の方が自然に思えるのですが・・・。 この誤解は、シェルでのリダイレクトの処理は、ファイルディスクリプタの差し替えのみにもかかわらず、出力までの流れとして解釈してしまうところにあるのではと思います。 2>&1はシェルでdup2(1,2)をコールします
UNIX板のGNU screenスレッドで紹介されていたreptyrを使ってみました。 screen外のプロセスにattachさせる 既にscreenを実行している状況で、screenのセッション外のプロセスを起動してみます。適当なterminalを起動するなり、外からsshでつなげるなりしてみます。あとでプロセスを探しやすいようにttyコマンドで現在使っているptyデバイスが何かを確認しておきます。 $ tty /dev/pts/7 次にscreen内の任意のウインドウのshellから、当該プロセスにつなげてみます。 $ reptyr -s `pgrep -t pts/7 bash` [-] Timed out waiting for child stop. [+] Allocated scratch page: 7faebd18b000 [+] Opened the new tty i
これはコマンドの標準出力を1行ずつ f という変数に読み込んで何らかの処理を行うってやつです。 whileの中でやることがファイル操作などの一般的なことならこれで全然問題ないんですが、実行中のシェル環境に対する処理(具体的には変数の設定など)を行おうとすると期待通りにいってくれなくなります。例えばこんな感じ↓ # findで見つけたファイル名をfilesという配列変数に詰め込みたい files=() find -type f | while read -r f; do files+=("$f") done echo "${files[@]}" # 確かにfilesに値を入れた筈なのに空が出力される?? これはパイプで繋げると後ろのwhileがサブシェルで実行されてしまうために起こる現象です。噛み砕いて説明すると… 現在findを実行中のbashとは別に、パイプの後ろでもう一つのbashが起
プロセスをバックグラウンド実行させてログアウトしたら、制御端末がなくなるので、write 先がなくてエラーになる リダイレクトするのを忘れた というようなケースを想定。 screen を使ってるとか、リダイレクト先をちゃんと指定していればいいのだけど、うっかりはあるので。 stackoverflow に解決案があったのでメモ。 Redirect STDERR / STDOUT of a process AFTER it’s been started, using command line? http://stackoverflow.com/questions/593724/redirect-stderr-stdout-of-a-process-after-its-been-started-using-command-lin 起動済みプロセスのリダイレクト先を設定する アイデアは GDB で
目次 WSL(Windows Subsystem for Linux)環境構築 WSLを有効にする Linuxディストリビューションのインストール WSLを使ってみる WindowsとLinuxのコマンドを混在して使う例 開発・テストに便利なLinuxコマンドの例 まとめ WSL(Windows Subsystem for Linux)環境構築 Windows10のWSL(Windows Subsystem for Linux)を使えるようにする方法と、個人的にPythonの開発・テスト時に使うオススメのコマンド例を2つほど紹介します。 Windows Subsystem for Linux(以後 WSL)は、Windows10のコマンドプロンプトからLinuxのコマンドを使えるようになる仕組みです。 僕はLinux使いではありません。 それでも、サーバーを立てたりする時とかに使わなくては
bashコマンドのバックグランド実行方法について、まとまっている記事が見つからなかったのでまとめメモ 通常のバックグラウンド実行 &でバックグランド実行 参考:http://kazmax.zpp.jp/linux_beginner/process_background.html もっとも基本的なバックグランド実行、コマンドの後ろに&をつけて実行する。 ターミナルの切断が切れたりしてログアウトした場合に、 この方法で実行したプロセスはkillされてしまうので注意する。 途切れたら困る処理の場合はtmuxのセッション上で実行、 もしくは後述するnohupコマンドでのバックグラウンド実行推奨。 # バックグラウンド実行 $ sleep 5 & [1] 21871 # プロセス確認 $ ps $! # ps 21871 PID TTY STAT TIME COMMAND 21871 pts/0 S
#!/bin/bash exec 5> debug_output.txt BASH_XTRACEFD="5" PS4='$LINENO: ' set -x するとdebug_output.txtにログが出力される。 exec 5>はファイルディスクリプタ5番をdebug_output.txtにするという意味。 PS4はトレース出力の際に表示されるプロンプト。$LINENOにより行番号を表示している。 set -xは実行するコマンドをトレース出力させる。 元記事にはbashdb、log4bash、Eclipse、Visual Studioo Codeを使う方法なども紹介されているが、これが一番手軽でほとんどの場合十分だと思う。 Register as a new user and use Qiita more conveniently You get articles that match
The document discusses optimization techniques for deep learning frameworks on Intel CPUs and Fugaku aimed architectures. It introduces oneDNN, a performance library for deep learning operations on Intel CPUs. It discusses issues with C++ implementation, and how just-in-time assembly generation using Xbyak can address these issues by generating optimal code depending on parameters. It also introdu
はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba
[速報]マイクロソフト、BashシェルをWindowsに搭載。Emacs、VT100などサポート。Build 2016 マイクロソフトは開発者向けの年次イベント「Build 2016」を米サンフランシスコで開催しています。初日の基調講演では、Windows 10が登場して1年を記念した大型アップデート「Windows 10 Anniversary Update」を発表。 その中で、UNIXやLinuxで使われているシェルの1つ「Bash」がWindowsに搭載されると発表がありました。 本物のBashがWindowsで走る Kevin Gallo氏。Corporate Vice President, Windows and Devices Group。 Bash on Windowsを発表する。 これは本物のBashだ。仮想マシンでもクロスコンパイルされたツールでもなく、ネイティブのUbu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く