特定の書式文字列を使用するprintfショートカットコマンド

特定の書式文字列を使用するprintfショートカットコマンド

printf特定のフォーマット文字列でショートカットコマンドを使用したかったので、次のことを考えました。

local PF="printf %s\n"
$PF "Some Text"

これを行うが、このアプローチを使用するときに型文字列を誤って解釈する可能性がある注意事項があるかどうかを知りたいです。

ベストアンサー1

  1. 関数のみを使用できますが、なぜ変数値を実行するのですか?それが関数の目的です。

    PF() { printf "%s\n" "$@" ; }
    PF "Some Text"
    

    またはエイリアス:

    alias PF='printf "%s\n"'
    PF "Some Text"
    
  2. 実際に変数を使用するには、その変数を使用して型文字列を保持します。例えば

    fmt="%s\n"
    printf "$fmt" "Some Text"
    

    行の長さを80文字未満に保つには、2つ以上のステートメントに変数を割り当てることができます。例えば

    fmt="......part1......"
    fmt+="......part2......"
    fmt+="......part3......"
    ...
    

    これは、割り当てられた書式文字列を読みやすくしたり、一部または全部のセクションに別々の説明を追加したい場合にも役立ちます。

おすすめ記事