この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ja:bash [2015/07/03 13:53] kota [aliasの一時解除] |
ja:bash [2017/08/30 04:12] (現在) kota |
||
---|---|---|---|
ライン 3: | ライン 3: | ||
---- | ---- | ||
- | ===== 標準出力・標準エラー出力 ===== | ||
- | File Descriptorは | + | * [[:ja:bash:stdouterror|標準出力・標準エラー出力]] |
- | * 標準出力 : 1 | + | * [[:ja:bash:WantToDo1|scriptがあるディレクトリの絶対パスをとる]] |
- | * 標準エラー出力 : 2 | + | * [[:ja:bash:WantToDo2|1日前の日付を取得]] |
+ | * [[:ja:bash:WantToDo3|aliasの一時解除]] | ||
+ | * [[:ja:bash:WantToDo4|連番ファイルの後半だけ削除]] | ||
+ | * [[:ja:bash:WantToDo5|変数から一部を抜き出す]] | ||
+ | * [[:ja:bash:WantToDo6|macでsshのホスト名の補完など: bash-completion]] | ||
+ | * [[:ja:bash:WantToDo7|変数を使って連番を生成]] | ||
- | ===== 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"としてやるとうまくいった。 |