Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/n-kota/dokuwiki/inc/init.php on line 542
ja:bash [GiriWiki]

ユーザ用ツール

サイト用ツール


ja:bash

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ja:bash [2017/08/20 23:38]
kota [macでsshのホスト名の補完など: bash-completion]
ja:bash [2017/08/30 04:12] (現在)
kota
ライン 3: ライン 3:
  
 ---- ----
-===== 標準出力・標準エラー出力 ===== 
- 
-File Descriptorは 
-  * 標準出力    : 1 
-  * 標準エラー出力 : 2 
- 
-===== scriptがあるディレクトリの絶対パスをとる ===== 
- 
-<code bash> 
- ​FILE_DIR=$(cd $(dirname $BASH_SOURCE);​ pwd) 
-</​code>​ 
-  * $BASH_SOURCE : scriptの絶対パス 
-  * cd しているが、scriptの処理が終わった後には元のdirectoryに戻っている 
- 
-===== 1日前の日付を取得 ===== 
- 
-<code bash> 
-date -d '1 days ago' 
-</​code>​ 
- 
-とする。1をNに変えれば、N日前。 
- 
-===== aliasの一時解除 ===== 
- 
-\lsのように、コマンドの前に"​\"​をつければ良い。 
- 
- 
-===== 連番ファイルの後半だけ削除 ===== 
- 
-file_0.txt\\ 
-file_1.txt\\ 
-・\\ 
-・\\ 
-・\\ 
-file_99.txt\\ 
-があるうち、50−99までを削除したいとする。 
- 
-''​ls -v file_* | tail -n 50 | xargs rm ''​ 
- 
-  * ''​ls -v file_*''​ で数字順にls出力 
-  * ''​| tail -n 50''​で前の出力の後ろ50を切り出す 
-  * ''​| xargs rm''​で前の出力をパラメータとして受け取り、rmに渡している 
- 
- 
-はじめ、lsがaliasされてうまくいかなかったが"​\ls"​としてやるとうまくいった。 
- 
- 
-===== 変数から一部を抜き出す ===== 
- 
-''​${PARNAME:​OFFSET:​LENGTH}''​ 
- 
-によって変数の中から、指定した箇所(Offset)からある文字数(length)だけを抜き出してくることができる。\\ 
-例: 
-<code bash> 
-  HOGE="​abc123def"​ 
-  ## 頭から3文字を抜き出して新しい変数FUGE1に詰める 
-  FUGE1=`echo ${HOGE:​0:​3}` 
-  ## 2文字目から最後までを抜き出す(LENGTHを省略すると最後まで指定したことになる) 
-  FUGE2=`echo ${HOGE:1}` 
-</​code>​ 
- 
----- 
-===== macでsshのホスト名の補完など: bash-completion ===== 
- 
-[[http://​qiita.com/​kotarella1110/​items/​34ba059d076f4148bebc|こちらのサイト]]を参考にさせてもらった。 
-<code bash> 
-sudo port install bash-completion 
-</​code>​ 
-でインストール。 
- 
-これだけでは動かなくて、あと数ステップ必要だった。 
- 
-  * .bash_profileの末尾に以下を追加 
-<code bash> 
-if [ -f /​opt/​local/​etc/​profile.d/​bash_completion.sh ]; then 
-. /​opt/​local/​etc/​profile.d/​bash_completion.sh 
-fi 
-</​code>​ 
- 
-  * Terminal.appの設定変更 
-    * "​ターミナル"​ > "​環境設定"​ > "​プロファイル"​ > "​シェル"​ で"​コマンドを実行"​にチェックを入れ"/​opt/​local/​bin/​bash -l"​を入力 
-      * mac port で入れたbashを起動させるように設定 
-    * "​ウインドウを閉じる前の確認"​のリストに"​bash"​を追加 
  
 +  * [[:​ja:​bash:​stdouterror|標準出力・標準エラー出力]]
 +  * [[:​ja:​bash:​WantToDo1|scriptがあるディレクトリの絶対パスをとる]]
 +  * [[:​ja:​bash:​WantToDo2|1日前の日付を取得]]
 +  * [[:​ja:​bash:​WantToDo3|aliasの一時解除]]
 +  * [[:​ja:​bash:​WantToDo4|連番ファイルの後半だけ削除]]
 +  * [[:​ja:​bash:​WantToDo5|変数から一部を抜き出す]]
 +  * [[:​ja:​bash:​WantToDo6|macでsshのホスト名の補完など: bash-completion]]
 +  * [[:​ja:​bash:​WantToDo7|変数を使って連番を生成]]
  
ja/bash.1503272312.txt.gz · 最終更新: 2017/08/20 23:38 by kota