[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/10 01:32 / Filesize : 243 KB / Number-of Response : 985
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合@LINUX Part4



1 名前:login:Penguin mailto:sage [2008/05/17(土) 13:44:57 ID:9hFWtCOD]
UNIX板のスレを見ている方も多数おられるかと思いますが、
まあそれはそれとして、BASHウゼーとか言われる心配なく
平和にLINUX的スクリプト談義しましょうよ。

初めての自作スクリプト、自信ないから見てください。な初心者から
トリッキーな技を駆使した作品を披露したい、蘊蓄を語りたい上級者まで
いろいろな人に参加して頂けると嬉しいです。

perlやらPythonやらの話が混ざっても良いんでない?

Part3 : pc11.2ch.net/test/read.cgi/linux/1184077033/
Part2 : pc11.2ch.net/test/read.cgi/linux/1154578200/
Part1 : pc8.2ch.net/test/read.cgi/linux/1121994321/

>>2-5あたりに色々と。

2 名前:login:Penguin mailto:sage [2008/05/17(土) 13:45:47 ID:9hFWtCOD]
関連スレ
おまいら! sed の使い方教えて下さいm(_ _)m@linux板
pc11.2ch.net/test/read.cgi/linux/1067815570/
【Shell】どのシェル使ってる?【Script】@LINUX板
pc11.2ch.net/test/read.cgi/linux/1067330754/
シェルスクリプト総合 その10
pc11.2ch.net/test/read.cgi/unix/1202725267/
sed@UNIX板
pc11.2ch.net/test/read.cgi/unix/1085730992/
2ちゃん画像落としまくりスクリプト@UNIX板
pc11.2ch.net/test/read.cgi/unix/1003833552/
連番のH画像/動画を一気にダウンロードする2
pc11.2ch.net/test/read.cgi/unix/1135533382/

ログを読みたい人はこちら
makimo.to/cgi-bin/search/search.cgi?q=%83V%83F%83%8B%83X%83N%83%8A%83v%83g&andor=OR&sf=0&H=&view=table&all=on&shw=

3 名前:login:Penguin mailto:sage [2008/05/17(土) 13:46:06 ID:9hFWtCOD]
参考リンク
bashで始めるシェルスクリプト基礎の基礎 @IT
www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html
シェルスクリプト(Bash)入門 CYBERAM Documents Project
cyberam.dip.jp/linux_command/shellscript.html

IBM developerWorks
実例でわかるsed
www-06.ibm.com/jp/developerworks/linux/010202/j_l-sed1.html
www-06.ibm.com/jp/developerworks/linux/010216/j_l-sed2.html
www-06.ibm.com/jp/developerworks/linux/010223/j_l-sed3.html
実例でわかるawk
www-06.ibm.com/jp/developerworks/linux/010330/j_l-awk1.html
www-06.ibm.com/jp/developerworks/linux/010413/j_l-awk2.html
www-06.ibm.com/jp/developerworks/linux/010622/j_l-awk3.html
コマンドラインからのグラフィックス操作
www-06.ibm.com/jp/developerworks/linux/031031/j_l-graf.html
洗練されたPerl: MP3とPerlで遊ぶ
www-06.ibm.com/jp/developerworks/linux/040319/j_l-cpmp31.html
www-06.ibm.com/jp/developerworks/linux/040402/j_l-cpmp32.html

4 名前:login:Penguin mailto:sage [2008/05/17(土) 13:46:45 ID:9hFWtCOD]
>2
おまけの関連スレ

シェルスクリプト相談室
pc11.2ch.net/test/read.cgi/tech/1112553783/
awkについて語るスレ $2
pc11.2ch.net/test/read.cgi/tech/1172242542/

5 名前:login:Penguin mailto:sage [2008/05/21(水) 00:32:13 ID:a/iElE66]
Unix系は仕事でSolarisから入ったので、Linuxでもtcsh使ってますが何か?

6 名前:login:Penguin mailto:sage [2008/05/21(水) 00:32:36 ID:a/iElE66]
お、何かいいID

7 名前:login:Penguin [2008/05/21(水) 20:20:15 ID:5fFqv5kV]
シェルでエロゲ作成したいんだけど意見聞かせてくださいな

8 名前:login:Penguin mailto:sage [2008/05/21(水) 20:57:55 ID:MNgR1LfO]
ギガバイ子ちゃんでお願いします。期待しています。

9 名前:login:Penguin mailto:sage [2008/05/21(水) 23:57:35 ID:DRn6AcXl]
ヒロインの一人に使ってあげてくれ
              _,,.. -ー 'ヘ-、、_
      .!、、 !、_、,.ィ'"   _ ,,..   _,゙ヽ,
      \`ー`=    '´ _,..、 ヽ  `、 ヽ
        ゝ、     /´ `  `ヽ   ゙、
       /   ,/ ,、/ ,.イ    !     ヽ、
      ノ ー=ニ,..-、,ヾ;、' /,.' !  i|  !   、__ ,.Zャ
    ー- 7 , /,、ヾ;、,.ィ // ,イ! ,!ト | ,イ  、ヾ、_
      / ,.' ,' ! ヾ;、'イ/ / / / |i |!,! / ヽ、 \、_
     ,/イ / ,!,イ!/_ !|;/  //_,.ィー|' /,ィ、   、ー- '"
      _/,.イ/!|i !ニ。ミ   /' ,ィ:;゚ソゞ |i }、-r-ー'ィ
     ゙̄/',.ヽ,|!ヾ`ゞ'='     ` ´ /!'" ーヤ
      ̄´フ! / ハ     ,:      ,イ ト、 ー_ユ-r''"`!
       /___ ,. \   ー_-;ァ  /!-''"イ´  |;;! ,.|
       ̄ /´ /イ!|/ ,ヘ、、   ,..イ;''´::;イ|    ,.! '´イ!
       /ヘ! { !/:::!'ヾi| ` ゙/:::::/ | !.-,..=-'´!|  ゙|!
      イ{゙ ト、 ヾ::::::::゙、   /::::::; '  ,r',.ヘヾ   ゙!|  ゙、
    _,.-ゞト!、 ヽ ゙!:::::::ヽ/::::,イ|  /イ-r'┴-、、 |;i  !
   / !__,,...|;i,.._ヽi!、 |::ヽ::イ!::/ ヾ!ィ'´   |;!   ゙iヽ| ト'' ソ
   / r|'"`7/゙T`,>ヾ>;!ノ:r!::く ,イ´,.!|__,,.. -┴ー -、!|ヾ゙!_ノ
  ,イL/゙! // / //´>::|!:::|i::ネ{! i!,!'´ //      ヾ,.|i|
 ,!,イ/ヾi! | L;. /イ/::::::|!::::|ir-、' /___//_      ノソi;|

10 名前:login:Penguin [2008/05/23(金) 04:46:10 ID:RB3w3nsA]
ちょっとスレの趣旨から離れてしまいますが、
たとえば Windows の WSH のように Javascript で
一般的なシェルスクリプトのようなものを実行できる
インタープリタって、Linux にはないんでしょうか?

普段は bash 使っててそれで仕事上は全然問題ないんですが、
Windows ではバッチ処理を WSH + JScript で書いているので
ふとなんで Linux にはそういうのがないんだろうか、って思って。



11 名前:login:Penguin mailto:sage [2008/05/23(金) 07:16:44 ID:uTynWoSg]
OpenJDK+Rhinoじゃダメかい?

12 名前:login:Penguin mailto:sage [2008/05/23(金) 22:34:35 ID:tQ4+YbeK]
自宅のLinuxマシンをsmbサーバにして、
画像、テキスト、動画など、すべてのファイルを保存・管理しています。

仕事で書いた原稿記事などについても、
いちいち GUI アプリで開かなくても、
ターミナルからでも中身を閲覧できるように、
必ず文字コードは UTF-8, 改行コードは LF で保存しています。

が、クライアント(主として MacOSX、たまに Windows)のターミナルから、
そうしたテキストファイルを less で見ると、当然のことながら、
見やすい場所での改行を一切しないで、
ターミナルの幅いっぱいにテキストを広げてくれます。

これを、何か適当なところ(例えば一行は50字など)で
改行を入れて表示させてやる方法ってあるでしょうか?

クライアントは主として MacOSX 10.4.11 で、
使っている仮想端末は、OSX 標準の /Applications/Terminal.app です。
たまぁに WindowsXP や Windows2000 などからもアクセスし、
その場合には poderosa.exe を使っています。
サーバマシンは CentOS4.6 です。

ls になんらかのオプションを与えて整形するのか、
それともなんらかのシェルスクリプトを組んでやる必要があるのか、
基本的なところからわかりません。
どなたかアドバイスいただけませんでしょうか?
よろしくお願いいたします。

13 名前:login:Penguin mailto:sage [2008/05/23(金) 23:29:13 ID:1NkPPjck]
>>10
こういうものはある。使ってる人は見ないけど。
ttp://www.wxjavascript.net/

>>12
スレチだけど lv -W50
これでわからなければCentOSのスレへ

14 名前:login:Penguin mailto:sage [2008/05/23(金) 23:44:07 ID:emu552tY]
lvってCentOS製だったの?

15 名前:login:Penguin mailto:sage [2008/05/23(金) 23:52:41 ID:yTe4r5LG]
>>13
どうもありがとうございました。
CentOS 用のパッケージは見つからなかったんですが、
ソースが見つかったので、checkinstall で rpm を作り、
インストールしたらすぐに希望通りのことができました。

16 名前:login:Penguin mailto:sage [2008/05/24(土) 08:58:44 ID:RlisQGoN]
Mac OSXはUnix系と聞いたが、改行コードが違うのか。

17 名前:login:Penguin [2008/05/24(土) 09:20:38 ID:yYzGER+2]
>>16
昔の MacOS は違ったなぁ.

18 名前:login:Penguin mailto:sage [2008/05/24(土) 09:42:14 ID:z250jUqQ]
まだ\rなのか

19 名前:login:Penguin mailto:sage [2008/05/24(土) 10:01:19 ID:R69XGiJs]
ええと、標準だと今でも CR+LF ではないかと思いますが、よく知りません。

20 名前:login:Penguin mailto:sage [2008/05/24(土) 16:36:20 ID:tQzGMWxj]
>>16
Linuxと同じくLF

ja.wikipedia.org/wiki/改行コード
ja.wikipedia.org/wiki/プレーンテキスト
www.openspc2.org/JavaScript/returnCodeJS/



21 名前:login:Penguin [2008/05/24(土) 16:52:04 ID:yYzGER+2]
* LF: UNIX系のシステム。Linux、AIX、Xenix、Mac OS X、BeOS、Amiga、RISC OSなど。
* CR+LF: CP/M、MP/M、DOS、OS/2、Microsoft Windows。
* CR: コモドールによるシステム、Apple IIファミリ、Mac OS(バージョン9まで)、OS-9。


22 名前:login:Penguin mailto:sage [2008/05/24(土) 20:48:36 ID:5ErPV5SE]
>>20-21
あ、OSの改行コードの違いにより改行されないことが>>12の相談かと思ったよ。
そもそも改行していない文章を fmt したいということか。

23 名前:login:Penguin mailto:sage [2008/05/24(土) 22:57:24 ID://jRJGUZ]
MACはCRとずっと思ってたのにLFなのかぁ

24 名前:login:Penguin [2008/05/28(水) 15:18:10 ID:HsWDzpDn]
子プロセスとして起動されたのか,
. で読み込まれたのか,
スクリプトの中から判断することはできますか?

25 名前:login:Penguin [2008/05/28(水) 15:23:33 ID:HsWDzpDn]
それぞれ set の結果を diff してみた.

#子プロセスとして起動した ./test.sh
< BASH_ARGC=()
< BASH_ARGV=()
< BASH_LINENO=([0]="0")
< BASH_SOURCE=([0]="./test.sh")
---
#. で読み込んでみた . test.sh
> BASH_ARGC=([0]="1")
> BASH_ARGV=([0]="test.sh")
> BASH_COMPLETION=/etc/bash_completion
> BASH_COMPLETION_DIR=/etc/bash_completion.d
> BASH_LINENO=([0]="39")
> BASH_SOURCE=([0]="test.sh")

ふぅん.BASH_SOURCE じゃ判定できそうにないな.
BASH_ARGC が 0 じゃないことでチェックするのかな?

26 名前:login:Penguin [2008/05/28(水) 15:31:38 ID:HsWDzpDn]
-------すくりぷと test.sh
#!/bin/sh
set
-------ここまで

chmod +x test.sh
./test.sh
./test.sh a b c
. test.sh
. test.sh a b c

4つともやってみたけど,結局何で判定すりゃいいのかわからない.
死ね俺.

27 名前:login:Penguin [2008/05/28(水) 15:36:50 ID:HsWDzpDn]
${BASH_LINENO[0]}
で判定するのがよさげなんだけど,
そもそも sh にはそんな機能ないの?
bash 限定はちょっとやだなぁ.

28 名前:login:Penguin [2008/05/28(水) 15:42:12 ID:HsWDzpDn]
単純に $0 で判定するのがいいのか?

29 名前:login:Penguin mailto:sage [2008/05/28(水) 15:43:32 ID:RYpMT0gt]
lessの代わりにleafpadを使えば

30 名前:login:Penguin [2008/05/28(水) 17:51:58 ID:4Ch8TEZp]
sh または bash で配列の結合ってできますか?




31 名前:login:Penguin mailto:sage [2008/05/28(水) 19:03:04 ID:xwe44XYV]
神様助けてください
関数に配列を渡す方法がわかりません

a=( あ い う え お )
fnc(){
echo ${1[0]}
}

fnc a

これで”あ”が出ると思ったんですがでません
教えてください
お願いします

32 名前:31 mailto:sage [2008/05/28(水) 20:20:45 ID:xwe44XYV]
シェルスクリプトにはスクリプト内でスコープが無いことを知り

a=( あ い う え お )
fnc(){
echo $a[0]
}
fnc

で”あ”が表示できるようになりました

33 名前:login:Penguin mailto:sage [2008/05/28(水) 23:35:58 ID:auu89eB+]
ループ文で外部ファイルから読み込んだコマンドを実行しようとしたときに
パイプ処理ができずに困ってます。(下記の場合、ls -lの結果しかでません)
サブシェルの方に行ってしまっているのかな?と思っているのですが、どう処理したらよいのでしょうか?

FILE=test.txt
while read LINE
do
$LINE
done < $FILE

■test.txtの内容(例)
ls -l | grep abc

34 名前:login:Penguin mailto:sage [2008/05/29(木) 00:07:17 ID:vP9yV59g]
>30
c=(${a[*]} ${b[*]})

>33
FILE=test.txt
while read LINE
do
eval $LINE
done < $FILE

35 名前:33 mailto:sage [2008/05/29(木) 00:17:22 ID:iY0MCSHA]
>>34
ありがとう!できました!便利なもんがあるんですね。
助かりました〜。

36 名前:login:Penguin [2008/05/30(金) 19:21:49 ID:p9jie4Lm]
echo $a[0]
これってちゃんと出力できるの?
${a[0]}
ってしないとエラーにならね?

37 名前:login:Penguin mailto:sage [2008/05/30(金) 19:45:31 ID:ZG0+9xy3]
% a[0]='abcef'
% echo $a[0]
abcef
% echo ${a[0]}
abcef
% echo $SHELL
/bin/zsh

38 名前:login:Penguin [2008/05/31(土) 06:16:56 ID:g+xuahlh]
#!/bin/sh

a[0]='abcef'
echo $a[0]

a[0]='abcef'
echo ${a[0]}
--------------------
[siomizu@cluster ~]$ ./test.sh
abcef[0]
abcef

39 名前:login:Penguin mailto:sage [2008/05/31(土) 16:10:17 ID:qUj8kkoX]
uniqはUTFには対応していないでしょうか?
たとえば、以下2行がある場合にuniqすると承のみになってしまいます。

承 <- 0xE689BF
良 <- 0xE889Af

環境はdebianのcoreutils 6.10-6、改行コードはLFを使用しています。
よろしくお願いします。

40 名前:login:Penguin mailto:sage [2008/05/31(土) 16:22:33 ID:q3zltHwi]
再現できるスクリプトを書いてください



41 名前:39 mailto:sage [2008/05/31(土) 16:33:59 ID:qUj8kkoX]
>>40
私でしょうか?
単に以下の2行を書いたファイルを用意してuniqです。




あ、「<-」以降は単にUTF8でこんなバイナリになるというのを示しただけです。
失礼しました。

42 名前:login:Penguin mailto:sage [2008/05/31(土) 16:36:28 ID:q3zltHwi]
私の環境では再現できませんので。
$ printf "\xe6\x89\xbf\n\xe8\x89\xaf\n" | uniq



43 名前:39 mailto:sage [2008/05/31(土) 16:46:52 ID:qUj8kkoX]
>>42
そうですか・・・
うちでは
% printf "\xe6\x89\xbf\n\xe8\x89\xaf\n" | uniq | hexdump -C
00000000 e6 89 bf 0a e8 89 af 0a |........|
00000008

でした。参考までにディストリとLC_ALL何にしているか教えていただけませんか?

44 名前:39 mailto:sage [2008/05/31(土) 17:01:51 ID:qUj8kkoX]
すいません 43でできてるじゃないかorz

LC_ALLをUTFにした状態だとうまくいきました。
uniqはロケール見るのか・・・

ありがとうございました

45 名前:login:Penguin mailto:sage [2008/06/01(日) 19:54:58 ID:3xisQkfz]
オライリの入門bash難しいよ・・・
これホントに入門なの・・・?

46 名前:login:Penguin mailto:sage [2008/06/01(日) 21:38:04 ID:EWKpU6i4]
オライリーは全般的に中級者が読む本だ

47 名前:login:Penguin [2008/06/02(月) 18:36:56 ID:GT1ocSub]
すみません。くだ質から誘導されてきました。よろしくお願いします。
bangou.txtには

123123
123123
100000


というように数値が入っています。(▲は空白ですが改行コードがはいってます)
この場合、1行目と3行目を比較して3行目に数値が入っている場合のみ2行目の値を別表に表示する
スクリプトを作りたいと思って色々調べて以下のようなスクリプトを作ってみましたけど
うまく動きません。(空白は空白として認識してくれないと行がずれるのでそれも認識したいです)


#!/bin/bash
for iii in `cat bangou.txt`
do
jjj=`sed -n '2p' bangou.txt`
export jjj
kkk=`sed -n '3p' bangou.txt`
export kkk
if [ "$iii" = -n ]
then
echo "$kkk>/dev/null
else
echo "$jjj > jjj.txt
paste jjj.txt toku.txt >> toku2.txt
rm -rf jjj.txt
fi
done

どこか間違ってるんでしょうか?よろしくお願いします。

48 名前:login:Penguin mailto:sage [2008/06/02(月) 19:03:36 ID:X93+nxzv]
>>47
やりたいことがよくわからん。
toku.txt の内容と、
実行後に toku2.txt がどういう内容になってればいいのかを書いてくれ。

49 名前:login:Penguin [2008/06/02(月) 19:28:58 ID:GT1ocSub]
>>48さん
返信ありがとうございます。
toku.txtは住所録です。
それをとりあえず一旦、toku2.txtにbangou.txtと組み合わせたものを
書き出しているだけなのでtoku2.txtには特に何も入っていません。
toku.txtは

東京都
東京都
東京都
東京都
東京都

愛知県
みたいな感じです。(▲は空白です)
これをそのままpasteでbangou.txtと結合すると
▲▲
123123 東京都
123123 東京都
100000 東京都
▲ 東京都
▲ 東京都
となってしまうのでこれを
▲▲
123123 東京都
123123 東京都
100000 東京都
100000 東京都
100000 東京都
というようにしたいんです。空白の行に一番最後の
番号を割り当てたいんです。わかりにくくてすみません。宜しくお願いします。

50 名前:login:Penguin [2008/06/02(月) 19:35:12 ID:GT1ocSub]
ごめんなさい。「▲は空白」と書きましたけど実際は改行コードが入っているだけです。
すみません。ごめんなさい。



51 名前:login:Penguin mailto:sage [2008/06/02(月) 19:44:36 ID:X93+nxzv]
いまいちよくわからんな。
>>47
> この場合、1行目と3行目を比較して3行目に数値が入っている場合のみ2行目の値を別表に表示する
っていう話もどうなったのやら。

シェルスクリプトでがんばるより perl あたりで書いちゃった方が早そう。

52 名前:login:Penguin [2008/06/02(月) 19:54:09 ID:GT1ocSub]
>>47の書き方が悪かったかもしれないです。ごめんなさい。
実際には>>49のような処理をしたいんです。
perlでもいいです。一旦処理できればいいんで。お願いします。

53 名前:login:Penguin mailto:sage [2008/06/02(月) 20:01:01 ID:6RTLtbwy]
pasteコマンドで結合して処理すればいいんじゃないの?

54 名前:login:Penguin [2008/06/02(月) 20:07:59 ID:GT1ocSub]
>>53さん
ご指導ありがとうございます。pasteで結合しただけだと
bangou.txtで空白の部分があるので >>49 のように
▲▲
123123 東京都
123123 東京都
100000 東京都
▲ 東京都
▲ 東京都
となってしまうので困ってます。
これを
123123 東京都
123123 東京都
100000 東京都
100000 東京都←空白が上の行と同じ番号
100000 東京都←空白が上の行と同じ番号
という風にしたいんです。お願いします。


55 名前:login:Penguin mailto:sage [2008/06/02(月) 20:09:26 ID:6RTLtbwy]
100000 でいいならsedで置換するだけじゃん。

56 名前:login:Penguin [2008/06/02(月) 20:11:48 ID:GT1ocSub]
>>55さん
お返事ありがとうございます。
数値は「10000」ではないんです。
上にある行の数値が欲しいんです。
わかりにくい説明ですみません。
宜しくお願いします。

57 名前:login:Penguin mailto:sage [2008/06/02(月) 21:14:50 ID:W+U/n8+A]
paste bangou.txt toku.txt | awk '{printf( "%s %s\n", (NF>1)? $1: onaji, $NF );
onaji=$1}'
とかかな?
でも、番号の1行目が空白のときはどうするのだろう。

58 名前:login:Penguin [2008/06/03(火) 00:37:37 ID:xzQHL5F2]
>>57さん
ありがとうございます!
明日早速試してみます。ありがとうございます。

59 名前:login:Penguin mailto:sage [2008/06/03(火) 16:14:01 ID:CIWG+PQ4]

あのスレ住人(特にdebユーザ)に、お願いなんだが、テンブレにあるし絶対ダメだとかいわんけど
書き込むとき、せめてシェルスクリプトと他のperlなんかのスクリプト言語は
意識して区別してくれまいか?ここ、「シェルスクリプトスレ」だから。

(上で「特にdebユーザ」と言ったのは、批判じゃなくて、前スレで発覚したんだが
 debはディストリレベルでコマンドとperlスクリプトなんかが混在になってるらしく
 ユーザ自身が区別しない慣習のようだから。でも、それって一般的じゃないし混乱のもとだよね?)

sedでもawkでもperlでもいいけど(ここら辺までは普通にシェルで使うだろけど、
perlで複雑なことやりこんだり)なんでもありありなら、わたしゃpythonやzenityや
織り込んでGUIやgtkベースの話はじめちゃうぞw



60 名前:login:Penguin mailto:sage [2008/06/03(火) 16:16:16 ID:8f1erIVq]
「テンブレ」?
「ディストリレベルで混在」?
どういう意味?



61 名前:login:Penguin mailto:sage [2008/06/03(火) 16:43:03 ID:CIWG+PQ4]
>>60
テンプレつーのは、つーか、>1に
>perlやらPythonやらの話が混ざっても良いんでない?
とあるし、>2-4にスクリプト言語のリンクも張ってある。

混在つーのは、具体例では、debではrenameコマンドがperlスクリプトprenameに置き換えてあるし
どうやらシェル上のパスの通し方なんぞが、perlなどを使いやすいように拡張されてるようだ。
ま、debユーザじゃないので詳しいところまではわからないけどね。

一応断っておくけどdeb批判じゃないよ。


62 名前:login:Penguin mailto:sage [2008/06/03(火) 16:56:54 ID:8f1erIVq]
「テンプレ」を「テンブレ」と書いていたことには気付いているのだろうか。

>>61
> 混在つーのは、具体例では、debではrenameコマンドがperlスクリプトprenameに置き換えてあるし
これは特殊かつ些細な例でしょ。
他に何かある?

> どうやらシェル上のパスの通し方なんぞが、perlなどを使いやすいように拡張されてるようだ。
そんな事実はないよ。

63 名前:login:Penguin mailto:sage [2008/06/03(火) 17:08:25 ID:CIWG+PQ4]
うわぁ、やっぱりdeb信者は・・・ごめんなさいね。趣旨だけ理解してちょ。

64 名前:login:Penguin mailto:sage [2008/06/03(火) 17:10:02 ID:GEyZQq+8]
これだけで信者扱いする君もそうとうなものだと思うぞ。

65 名前:login:Penguin mailto:sage [2008/06/03(火) 17:11:57 ID:CIWG+PQ4]
はいはい、ごめんなさい、ごめんなさい。あんたが大将。

66 名前:login:Penguin mailto:sage [2008/06/03(火) 17:23:16 ID:8f1erIVq]
信者って決めつけられてもな。
Debian も使ってるし他のディストリも使ってるし。
よく知りもしないのにいいかげんなこと言うな、ってだけ。

67 名前:login:Penguin mailto:sage [2008/06/03(火) 17:46:57 ID:L2QLzXUM]
ちんこ

68 名前:login:Penguin mailto:sage [2008/06/03(火) 20:26:13 ID:UQvQZC/E]
>>59
分界点が判らない。

69 名前:login:Penguin mailto:sage [2008/06/03(火) 20:51:52 ID:+2Z+EheD]
>>68
分界線という言葉ならあるが

70 名前:login:Penguin mailto:sage [2008/06/03(火) 22:24:45 ID:4bIEot6Q]
Debianではっつうか、そいつの問題だろう。
シェルスクリプトかperlスクリプトか見てわからないような奴は他の鳥使ったってわかるようにならない。



71 名前:login:Penguin mailto:sage [2008/06/03(火) 22:25:09 ID:meWc8EbG]
>>59
> debはディストリレベルでコマンドとperlスクリプトなんかが混在になってる

デブな人だけどなんのこっちゃ?
まさかPerlスクリプトなら*.plになるとか言ってるわけじゃないよな?

72 名前:login:Penguin mailto:sage [2008/06/03(火) 22:31:11 ID:/nacTMrw]
というか、俺も言ってる意味が分からない
とくにディストリレベルっていう言葉
ディストリレベルってのはどのレベル?

73 名前:login:Penguin mailto:sage [2008/06/03(火) 22:41:59 ID:8iXvkF35]
#/bin/sh
perl -e printf( "hello world\n" );

だと、>>59基準でOKか否かが分かんない。

74 名前:login:Penguin mailto:sage [2008/06/03(火) 22:48:40 ID:513yN16/]
例えばls って打つと ls.pl が起動されるって事だと読み取った。
Debian系は使っていないので真実は知らない。

75 名前:login:Penguin mailto:sage [2008/06/03(火) 22:49:50 ID:OcnJ3se+]
#!/bin/sh

perl sh.pl
ruby sh.rb
php sh.php

system("hoge.sh",$ret);
exec("hoge.sh",$ret);

exec("sed 's/B/A/g' $current > $tmp",$ret);
exec("rm $current",$ret);
system("mv $tmp $current",$ret);

もう人生バラ色です

76 名前:login:Penguin mailto:sage [2008/06/03(火) 23:39:04 ID:/nacTMrw]
俺の人生はルビー色

77 名前:login:Penguin mailto:sage [2008/06/03(火) 23:48:22 ID:J2hvNDuq]
質問です。

$ ls "a"
file1  file2
$ echo ls \"a\"
ls "a"
$ `echo ls \"a\"`
ls: cannot access "p": No such file or directory

三つめでエラーになるのはなんででしょう?
こういう時はどう書くのが正しいのですか?


78 名前:login:Penguin mailto:sage [2008/06/03(火) 23:52:30 ID:4a1SGQ4Q]
$ ls "a"
ls: a: No such file or directory
$ echo ls \"a\"
ls "a"
$ `echo ls \"a\"`
ls: "a": No such file or directory
$

79 名前:login:Penguin mailto:sage [2008/06/03(火) 23:53:03 ID:wxT19Ovz]
eval `echo ls \"a\"`

80 名前:77 mailto:sage [2008/06/03(火) 23:55:16 ID:J2hvNDuq]
>>79
おお!早速ありがとうございました。



81 名前:login:Penguin mailto:sage [2008/06/04(水) 10:36:15 ID:bCIXok9Z]
bashの/dev/nullについて質問します。
lsの表示結果でエラー出力だけは表示させずに
標準出力のみtest.txtファイルに出力したいのですが
自分の理解では以下に書いた2になりますが、表示結果
では1でないと通りません。どのようにイメージしたら宜しいのでしょうか?

1: ls /home/ > /dev/null 2>&1 > test.txt
2: ls /home/ > test.txt > /dev/null 2>&1

82 名前:login:Penguin mailto:sage [2008/06/04(水) 10:42:14 ID:jifIrR2s]
>>81
「bash のリダイレクトについて」だろ。
/dev/null は bash の問題ではない。

ls /home/ >/dev/null 2>test.txt
で OK。

83 名前:login:Penguin mailto:sage [2008/06/04(水) 11:04:40 ID:bCIXok9Z]
>>82
すいません、リダイレクトについてでした。回答有難うございます。
ls /home/ >/dev/null 2>test.txtについての流れで確認を
して頂きたいのですが宜しくお願い致します。

上記の標準出力1の状態について、lsの結果が/dev/nullに行く。
(ここでデータは破棄されてしまうという考えなのですが)
そして、エラー出力2はtest.txtになってますよね?

1の状態 /dev/null
2の状態 test.txt

84 名前:login:Penguin mailto:sage [2008/06/04(水) 11:52:58 ID:3E+PCnl7]
>>81
> 1: ls /home/ > /dev/null 2>&1 > test.txt

1) /dev/null を標準出力の出力先に指定
2) 標準出力の出力先をエラー出力の出力先に指定
3) test.txt を標準出力の出力先に指定

結果
標準出力: test.txt
エラー出力: /dev/null


> 2: ls /home/ > test.txt > /dev/null 2>&1

1) test.txt を標準出力の出力先に指定
2) /dev/null を標準出力の出力先に指定
3) 標準出力の出力先をエラー出力の出力先に指定

結果
標準出力: /dev/null
エラー出力: /dev/null

85 名前:login:Penguin mailto:sage [2008/06/04(水) 11:59:59 ID:jifIrR2s]
>>81
1: でほんとにうまく行ってる?

86 名前:login:Penguin mailto:sage [2008/06/04(水) 16:29:28 ID:bCIXok9Z]
>>84
リダイレクトは出力先を決めるだけなのですか。
解説して頂いた通りで色々パターンを考えてみましたら
出来るようになりました、有難うございます

>>85
一応処理結果では正常な雰囲気なのですが、>>81ですと
理解しずらいので、変えようか考えています。

レス遅れましたが皆さんありがとうございました

87 名前:login:Penguin mailto:sage [2008/06/04(水) 22:17:21 ID:T1bDhlj1]
>>86
シェルどころか日本語まで・・・

88 名前:login:Penguin mailto:sage [2008/06/05(木) 00:21:00 ID:lO8RLUCT]
与えられたパスを絶対パスに正規化したいのですがどうすればよいですか?
単に相対->絶対の変換をするだけじゃなくて
.とか..も適切に変換してくれるとうれしいのですが。


89 名前:login:Penguin mailto:sage [2008/06/05(木) 00:23:58 ID:qyhUQGl8]
>>88
`pwd`/$1

90 名前:login:Penguin mailto:sage [2008/06/05(木) 00:32:17 ID:brEG0pS6]
realpathだっけ?



91 名前:login:Penguin mailto:sage [2008/06/05(木) 06:27:50 ID:Ysl4yLMq]
ここはLinux板だからreadlink -fでどうか

92 名前:login:Penguin mailto:sage [2008/06/07(土) 17:03:59 ID:lYfLA/cT]
スレ違いのような気もしますが・・・
lsの出力が端末だとスペース区切りなのにパイプやリダイレクトすると改行になるのはどういう仕組みですか?


93 名前:login:Penguin mailto:sage [2008/06/07(土) 17:10:19 ID:6DqLCPKX]
isatty(3)

94 名前:92 mailto:sage [2008/06/07(土) 17:13:39 ID:lYfLA/cT]
なるほど、lsのほうで端末かどうかみてるんですね…
納得しました。どうもありがとうございます。

95 名前:login:Penguin mailto:sage [2008/06/08(日) 00:25:14 ID:z0g0MNBT]
スレ違いだと思うならくだ質に行きなさい。

96 名前:login:Penguin mailto:sage [2008/06/08(日) 14:37:28 ID:w3H8z2Sk]
シェルスクリプト中で、リダイレクトでファイルを生成するとファイル名が文字化けしてしまうのですが
一体何が悪いんでしょうか。
↓みたいなことになります。

$ echo $LANG
ja_JP.UTF-8
$ cat test.sh
echo a > "$1"
$ echo hoge > "あいうえお.hoge" ; ls
test.sh あいうえお.hoge
$ sh test.sh "あいうえお.hoga” ; ls
??????????.hoga test.sh あいうえお.hoge

touchとかなら文字化けしないようなのですが。


97 名前:96 mailto:sage [2008/06/08(日) 14:54:23 ID:w3H8z2Sk]
補足です。

$ ls | hexdump -C
00000000 e3 82 e3 84 e3 86 e3 88 e3 8a 2e 68 6f 67 61 0a |...........hoga.|
00000010 74 65 73 74 2e 73 68 0a e3 81 82 e3 81 84 e3 81 |test.sh.........|
00000020 86 e3 81 88 e3 81 8a 2e 68 6f 67 65 0a |........hoge.|
0000002d


98 名前:login:Penguin mailto:sage [2008/06/08(日) 21:58:48 ID:cpZuCikO]
ls --show-control-chars

99 名前:login:Penguin mailto:sage [2008/06/09(月) 19:55:01 ID:Dt/jCYdy]
jp.youtube.com/watch?v=x7pPajOvQGo
ワロタ

100 名前:login:Penguin mailto:sage [2008/06/09(月) 20:44:39 ID:19yx0Oqh]
注文スクリプトを作りました、ってこと?








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef