Help us understand the problem. What is going on with this article?

Cシェルのリダイレクトまとめ

More than 1 year has passed since last update.

Cシェルのリダイレクトまとめ

業務都合でcシェルを読んでみたけどリダイレクトがよくわかんなかったので覚書。
記号でググっても検索エンジンは引っ張ってきてくれないからね。

上書きと追記

これは他のshellと同じ。

上書きの場合
echo hoge > hoge.txt
追記の場合
echo hoge >> hoge.txt

言うまでもない感じ。

エラー

検索しようにも記号だけでなかなか出てこない曲者。
リダイレクト記号 + アンパサンド(アンド)

rm hogehoge >& hoge.txt

ちなみに出力は以下の通り。

cat hoge.txt
rm: cannot remove 'hogehoge': No such file or directory

標準出力とエラー出力とかの詳しい記事は以下を参照。とてもわかりやすい!

noclobber変数が設定されている場合

noclobber変数をSETしているとリダイレクトによる上書き処理( > )が禁止される。
(個人で設定している人はあまりいないだろうけど)

その状態でも強制的にリダイレクトによる上書き処理をしてしまいたい場合は以下の通り。
リダイレクト + エクスクラメーション(ビックリ)

echo hoge >! hoge.txt

詳しくは以下の素晴らしい記事に(省略)

ファイル出力もリダイレクトもしたい!

コマンドteeを使う。

rm hogehoge |& tee hoge.txt
rm: cannot remove 'hogehoge': No such file or directory

出力されたファイルも以下の通り。

cat hoge.txt 
rm: cannot remove 'hogehoge': No such file or directory

以上でした。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away