差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| fish-shell [2020/06/12 14:53] – [概要] mumeiyamibito | fish-shell [2023/05/12 15:15] (現在) – [rsync や scp で fish をインストールしたリモートサーバにファイルを転送できない (旧方法)] mumeiyamibito | ||
|---|---|---|---|
| 行 15: | 行 15: | ||
| * 共用サーバ等でホームディレクトリにインストールする ($HOME/ | * 共用サーバ等でホームディレクトリにインストールする ($HOME/ | ||
| + | - cmake のバージョンが 3.2 以上でない場合、cmake をインストールする。 | ||
| + | * [[サーバ関連/ | ||
| - 最新版のソースをダウンロードする。\\ <code bash> | - 最新版のソースをダウンロードする。\\ <code bash> | ||
| $ wget https:// | $ wget https:// | ||
| 行 29: | 行 31: | ||
| * cmake の '' | * cmake の '' | ||
| * 参考サイト: | * 参考サイト: | ||
| + | * '' | ||
| - インストールされたか確認する。\\ <code bash> | - インストールされたか確認する。\\ <code bash> | ||
| $ ~/ | $ ~/ | ||
| fish, version 3.1.2 | fish, version 3.1.2 | ||
| </ | </ | ||
| - | - '' | ||
| - | if [ -z " | ||
| - | return | ||
| - | fi | ||
| - | </ | ||
| - | * .bashrc で何らかの処理がされている場合、scp や rsync が進行しないエラーが発生するため、.bashrc がこれらのコマンドで読み込まれた際、対話モードでない場合は即座に終了するようにする。 | ||
| - | * 参考サイト: | ||
| - .bashrc の末尾に追記する。\\ <code bash> | - .bashrc の末尾に追記する。\\ <code bash> | ||
| - | BOOT_FISH=1 | + | if [ " |
| - | FISH_PATH=$HOME/ | + | BOOT_FISH=1 |
| - | if [ $BOOT_FISH -eq 1 ]; then | + | FISH_PATH=$HOME/ |
| - | if [ -f $FISH_PATH ]; then | + | if [ $BOOT_FISH -eq 1 ]; then |
| - | $FISH_PATH | + | if [ -f $FISH_PATH ]; then |
| - | exit | + | $FISH_PATH |
| + | exit | ||
| + | fi | ||
| fi | fi | ||
| fi | fi | ||
| 行 54: | 行 52: | ||
| * '' | * '' | ||
| * bash が一度起動しているため、環境変数は引き継がれる。 | * bash が一度起動しているため、環境変数は引き継がれる。 | ||
| + | * rsync や scp が転送できない対策として、SSH_TTY の if 文を追加した (2020/ | ||
| + | * 参考サイト: | ||
| - 再ログインする。 | - 再ログインする。 | ||
| 行 251: | 行 251: | ||
| * 参考サイト: | * 参考サイト: | ||
| + | |||
| + | |||
| + | ==== コマンドラインスタック ==== | ||
| + | * とても役立つテクニックで、buffer stack とも呼ばれるらしい…。 | ||
| + | * 長いコマンドを打っている時に、ヘルプオプションを見たくなった時に便利。 | ||
| + | * 長いコマンドを打っている時に、やり忘れたコマンドを実行したくなった時に便利。 | ||
| + | * つまり、現在の入力中のコマンドを一時的に退避させる方法。 | ||
| + | * 方法: | ||
| + | * 以下の関数を '' | ||
| + | function push-line | ||
| + | set cl (commandline) | ||
| + | commandline -f repaint | ||
| + | if test -n (string join $cl) | ||
| + | set -g fish_buffer_stack $cl | ||
| + | commandline '' | ||
| + | commandline -f repaint | ||
| + | |||
| + | function restore_line -e fish_postexec | ||
| + | commandline $fish_buffer_stack | ||
| + | functions -e restore_line | ||
| + | set -e fish_buffer_stack | ||
| + | end | ||
| + | end | ||
| + | end | ||
| + | |||
| + | function fish_user_key_bindings | ||
| + | bind \cs push-line | ||
| + | end | ||
| + | </ | ||
| + | * 最後の '' | ||
| + | * 参考サイト: | ||
| + | |||
| + | |||
| + | ==== rsync や scp で fish をインストールしたリモートサーバにファイルを転送できない (旧方法) ==== | ||
| + | * '' | ||
| + | if [ -z " | ||
| + | return | ||
| + | fi | ||
| + | </ | ||
| + | * .bashrc で何らかの処理がされている場合、scp や rsync が進行しないエラーが発生するため、.bashrc がこれらのコマンドで読み込まれた際、対話モードでない場合は即座に終了するようにする。 | ||
| + | * 参考サイト: | ||
| + | |||
| + | |||
| + | ==== ハイフンの入った文字列の置換ができない ==== | ||
| + | * 問題: '' | ||
| + | * 解決策: '' | ||
| + | * 例: <code bash> | ||
| + | $ string replace -- ' | ||
| + | hoge.js | ||
| + | </ | ||
| + | |||
| + | * 参考サイト: | ||
| ===== 参考サイト ===== | ===== 参考サイト ===== | ||
| * [[http:// | * [[http:// | ||
| - | {{tag> | + | {{tag> |