アカウント名:
パスワード:
goto が shell に built-in でなかった時代もありました。
# さすがに built-in でない chdir(1) はどうしようと思いましたが... これも POSIX 上実在します
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
/bin/[ (スコア:2, 興味深い)
debianでapt-get でnvi-m17nを入れようとしたら、無くなっていたのにもびっくりしたけど。
Re:/bin/[ (スコア:2, おもしろおかしい)
rcが走らねぇ。
#ネタにしてごめんね>O氏
Re:/bin/[ (スコア:1, おもしろおかしい)
直前にチョコとしたテストプログラムをtestって名前で作ってたから。
あれ、何でこんなところに?
rm test
消えねー chmod +r <- 普通ここでおかしいことに気がつく。
rm test
だってディクスが足りなくって、いらないコマンド(Lispとかf77とか)
かったっぱしから消してたから。
Unixを触り始めて、1週間の人間にバグまみれの仕事と、徹夜と、
root権限だけ押し付けて、アメリカへトンずらした上司が悪いんです。
#一応ACで。
Re:/bin/[ (スコア:1)
最近はシェルに組み込まれているのが普通なんですか?
Re:/bin/[ (スコア:1, 興味深い)
日本[の会発足
http://srad.jp/articles/07/03/31/1639241.shtml [srad.jp]
Re:/bin/[ (スコア:1, 興味深い)
Re: (スコア:0)
Re:/bin/[ (スコア:1, すばらしい洞察)
必然性がなければbuilt-inにしないことが美学だった(過去形だけど)。
Re:/bin/[ (スコア:1)
goto が shell に built-in でなかった時代もありました。
# さすがに built-in でない chdir(1) はどうしようと思いましたが... これも POSIX 上実在します
Re: (スコア:0)
cat は ssh 経由で redirect するときに必要じゃない?
$ ehch "hoge" | ssh host "cat > hoge.txt"
的な?これも shell built-in でいけるんだっけ?
Re:/bin/[ (スコア:1)
ところで、catってそんな複雑なときじゃなくても必要では?
たとえばプログラムを書き始めるときとか。
% cat a.c
#include <stdio.h>
#include <unistd.h>
...
という具合に。
Best regards, でぃーすけ
訂正 (スコア:1)
orz
じゃなくて
% cat > a.c
Best regards, でぃーすけ
Re: (スコア:0)
while read line
do
echo $line
done >a.c <<'EOF'
#include <stdio.h>
#include <unistd.h>
...
EOF
Re: (スコア:0)
それは shell-builtin でいいんじゃないの?
cat が 外部コマンドある必要性として ssh 経由のリダイレクトの例を出してるんでしょ?
なんか、勘違いしてる?
Re:訂正 (スコア:1)
cat a.c << EOF
の見事な実装になっています(笑)。
Best regards, でぃーすけ
Re:訂正 (スコア:1)
はい、2点ほど。
1つめ。
$ ehch "hoge" | ssh host "cat > hoge.txt"
は(最初のを echoとして)
$ echo "hoge" | ssh host "sh -c cat > hoge.txt"
と書換えることが出来て、これはshell-builtinのcatがあれば動作します。
2つめ。真面目にcatでソースを書くのを必要に迫られてやってるとお思いで?
ここのツリーの人たちはshell builtinのcatがあればコマンドのcatを代替可能なのは知っていて冗談を言いあっているはずです。
Best regards, でぃーすけ
Re:/bin/[ (スコア:1)
外部プログラムとして実装してないと、POSIX準拠を名乗れないって話がありますね。
外部コマンドとして用意することの意味不明さでは /usr/bin/cd の方が上だと思います。
(って、手元のFreeBSDには入ってますけど、Linux は入ってないことが多いんだっけ?)
Re:/bin/[ (スコア:3, 参考になる)
[/usr/bin/cd]
/usr/bin/cd ユーティリティは、cd ユーティリティ自身だけの 現
在のディレクトリを変更します。これは、後述するシェル組み込み
の cd とは対照的です。/usr/bin/cd はプロセスの呼び出しには影
響しませんが、あるディレクトリを現在のディレクトリとして設定
できるかどうかを決定するのに使用できます。