4

gg=Gbashスクリプト、または単純なエコーを妨げない自動フォーマットのバリエーションを使用できるようにしたいと考えています。

私はこのようなことは問題ではないと感じています、私はどちらかへの適切な方法を発見していません:

  1. このシナリオで文字列を適切にエコーする
  2. ジョブに適切なコマンドを発行します

誰かが私を助けることができれば、それは大いにありがたいです。

私が入力するもの:

someFun()
{
    echo "Some really long string that is going to be automatically
    indented.";
}

プロンプトに表示されるもの

>./someFun  
Some really long string that is going to be automatically
    indented.
4

3 に答える 3

1

次のように文字列を連結できます。

echo "Some really long string that is going to be automatically" \
"indented."

インデントをオフにする:

:setlocal noautoindent
:setlocal nosmartindent
于 2012-12-02T17:50:50.767 に答える
0

これは私の現在の解決策です、何か議論やヘッドアップはありますか? これにより、次のような柔軟性を必要
とするプロジェクトのニーズに対応できます。

  1. textwidth =の影響を受けませんか?マルチユーザー環境の
  2. 自動[インデント|フォーマット]*の影響を受けない(vim、gedit、notepad ++、w / e)
  3. フルコントロールすることで予測できない出力を回避する

これらが信頼できない場合:
cat << EOF...EOF    または     "\"でエコーをエスケープ


/ usr / bin/yellファイルを作成しました

printTrueString()
{    
    local args=$@;
    echo $args;
    unset args;
}

printTrueString "$@";
exit 0


そして今...

sumFun()
{      
    #auto-indent all you want VIM or w/e!...
    yell "hello mad
    world"

    #just like echo -e 
    yell -e "hello\nmad\nworld"        
}  
sumFun;
exit 0

#stays on one line, where the echo would split     
>hello mad world
>hello
mad
world

あなたはもっと好きなことをすることができます...これを組み込みとしてエコーを拡張します...

于 2012-12-05T00:22:05.790 に答える
0

Byter さん、ここでは、目的を達成するためのより適切な方法と、他の初心者向けのヒントをいくつか紹介します。

まず第一に、自分のシェルを古い場所、特に /usr/bin に隠しておくべきではありません。カスタム アプリがある場合は、必要に応じて/optまたは /usr/local/bin に保存することをお勧めします。


第二に、この特定のシェルは、どのアプリの前提条件であってはなりません。既に利用可能なものとは異なる目的を果たしません。


代わりに、次の例を参照してください。

問題>

foo()
{
    echo "A string that gets affected by auto-format, is a pretty long
    string";
}

$foo
>A string that gets affected by auto-format, is a pretty long
    string

ソリューション>

foo()
{
    longString='A really long
    \nstring';
    echo -e $longString

}

$foo
>A really long
string

またはcat EOF | を使用します。EOL
、 ハイフン「-」でインデントを指定しない場合に機能します。以下を参照してください。

foo()
{
    cat <<-EOL
    really long
    string 
    EOL
}    

$foo
>really long
string

結論>これにより、bashで文字列を目立たないように使用する方法が提供されるため、問題が解決します。

于 2012-12-28T19:28:17.043 に答える