LoginSignup
1
1

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-11-30

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

以上でした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1