質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

fish

fish(friendly interactive shell)は、Unix系OSのシェルの一つです。無設定で多くの機能を利用することが可能。カラフルな表示で見やすく、TAB補完にも優れています。

Q&A

解決済

3回答

839閲覧

function後の処理

tommyTeratail

総合スコア31

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

fish

fish(friendly interactive shell)は、Unix系OSのシェルの一つです。無設定で多くの機能を利用することが可能。カラフルな表示で見やすく、TAB補完にも優れています。

0グッド

0クリップ

投稿2018/02/14 06:29

編集2018/02/14 06:46

正常終了したい

課題

ctr + e で実行後実行結果Aになる

要望

ctr + e で実行結果Bのような状態で終わりたい

補足

正常終了みたいな感じにしたいが
ctr + e の後にenterを押す必要があるのでそれをなんとかしたい

補足2

hireturn 1 にした場合も
echo $statusが正しくない

実行結果A

bash

1>hellow

実行結果B

bash

1>hellow 2> #ちゃんと改行して終わりたい

設定

fish

1function fish_user_key_bindings 2 bind \ce hi 3end

fish

1function hi 2 echo 'hello' 3 return 0 4end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/02/14 06:43

"ctr + e"は余り使いませんね。"Ctrl + E"と表記しましょう。
unz.hori

2018/02/14 06:44

hellowはtypoですか?わざとですか?helloが正しいです。
unz.hori

2018/02/14 09:33

そもそも質問が、bash/fish shellを混同しているようです。fish shellでの質問と明確に記述した方がいいですね。
guest

回答3

0

自己解決

commandline -f repaint

投稿2018/02/15 00:24

tommyTeratail

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

~/.config/fish/functions/hi.fish

function hi echo -e 'hello\n' commandline '' end

でいけるようです。$statusについてはわかりませんでした。

投稿2018/02/14 09:47

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tommyTeratail

2018/02/15 00:24

bindから実行した場合 $status は取得出来ないのが仕様でした
guest

0

echo -e "hellow\n"
とすればいいと思います。

投稿2018/02/14 06:47

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tommyTeratail

2018/02/14 07:04

うまくいかないような気がします
unz.hori

2018/02/14 07:05

気がしますではなく、結果を書いてください
unz.hori

2018/02/14 07:07

echo $'hellow\n' ではどうでしょう?
tommyTeratail

2018/02/14 07:12 編集

改行はされますが 結果B の状態にはならないです このようになります ``` >hellow ``` こうしたい ``` >hellow > ``` `echo $status`も期待通りではないですね
tommyTeratail

2018/02/14 07:14

bind経由である事は認識されていますか?
unz.hori

2018/02/14 07:26

質問に書いてある定義をやめて単にコマンドで bind '"\C-e": "hellow\n"' でどうでしょう?
tommyTeratail

2018/02/14 07:29

後々 hi の中身は増えるので 実行形式は変更できないです
unz.hori

2018/02/14 07:33

bind \ce hi -> bind '"\C-e": "hellow\n"'でfunction呼び出しをやめればいいのでは?
tommyTeratail

2018/02/14 07:36

bind \ce で 別途定義をしている functionを呼び出す方式は変更出来ないです hiの中身は増えるのでワンライナーでの記述するつもりはないです
unz.hori

2018/02/14 07:37

hiの中身が増えるというのをもう少し解説してください
tommyTeratail

2018/02/14 07:40

例えば フォーマットした時刻や、ユーザー情報などをecho する予定です
unz.hori

2018/02/14 07:45

ちなみに定義はどのファイルにしていますか?
tommyTeratail

2018/02/14 07:54 編集

~/.config/fish/functions/ の配下です
unz.hori

2018/02/14 08:00

おお、タグを良く見たらfish shellも使ってるのかー。見落とした
unz.hori

2018/02/14 09:26

function後の処理というよりはfish shellのbindの仕様ですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問