1行目に #!/bin/bash を書き、ファイルのパーミッションを 755 にしておくとコマンドとして直接実行ができるようになります。 $ cat > ./test.sh <<EOF#!/bin/bashecho "Hello world!" $chmod 755 ./test.sh$ ./test.sh Hello world!
ただし、コマンド置換は末尾の改行文字を削除するため(後述)、例えばprintfコマンドで出力したものをイテレーションすると(末尾改行の無い)最終行を無視するので、末尾に改行を付加する必要があります。あるいは、echo "${result}"とするか。
Shell Script Advent Calendar 2015 15日目 です。穴が空いていたので入っちゃいました。★14日目は @laqiiz さんの "Googleの肩に乗ってShellコ…
Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。こんなコマンドの存在は不思議だなと思う反面、C言語にも v…
この例では片方をパイプで渡していましたが、つぎのようにして両方をプロセス置換で渡すこともできます。paste <(1列目を出力コマンド) <(2列目を出力するコマンド)↩ 別解として、sedの部分をgrep -Ev '^\t'と書いても良いです。grepの-vオプションを使って、(タブで始まる行)「以...