5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

bashで補完スレ

1 :complete:02/02/07 03:16
bash2で補完機能が強化されているようですが
皆さんいかがお過ごしでしょうか?

2 :名無しさん@お腹いっぱい。:02/02/07 03:17
2Get

3 :名無しさん@Emacs:02/02/07 03:20
>>1
> bash2で補完機能が強化されているようですが
> 皆さんいかがお過ごしでしょうか?

氏ね

4 :名無しさん@お腹いっぱい。:02/02/07 03:24
complete -d cd
complete -c man
complete -u {su,finger}

5 :名無しさん@お腹いっぱい。:02/02/07 07:59
autoload -U compinit;compinit


6 :名無しさん@お腹いっぱい。:02/02/08 00:49
gccの引数として*.cを補完させたいときどうすればいいの?

7 :名無しさん@お腹いっぱい。:02/02/08 15:20
>>6
漏れも教えてほすぃ

8 :名無しさん@お腹いっぱい。:02/02/08 15:31
mv !$ ~/trash
みたいなAlias書きたいのですが、、、
どうかいたらいいですかね?


9 :名無しさん┃】【┃Dolby:02/02/08 16:29
>>6 bash-2.0.5aの
examples/complete/complete* を眺めた感じでは

complete -f -X '!*.c' gcc

だと思う。誰か試してくれ


10 :名無しさん@お腹いっぱい。:02/02/09 07:07
>>8
!$が何か知りませんが
function rm () { command mv $@ ~/trash/ ; }
とかどうでしょう?
rmとmvのオプションの違いとかを吸収していませんが

>>9
カレントディレクトリのファイルはうまく補完できるみたいです
lprとかで印刷するときなどにディレクトリ名も補完しながら
探せると便利だと思うんですが
complete -f -X'!*.ps' lpr
と真似してみたところディレクトリは補完されないようです

11 :名無しさん@お腹いっぱい。:02/02/09 13:59
>>10
rm -r怒られるのちと痛いんでsedかawkでちょっとだけ
引数修正したいね。

12 :名無しさん@お腹いっぱい。:02/02/10 01:03
bashよりzshつかうべき?

13 :名無しさん@お腹いっぱい。:02/02/10 08:05
>>12
悩むなら bash より zsh 使えば良い。

14 :名無しさん@お腹いっぱい。:02/02/10 21:30
っつー事で zsh スレ
http://pc.2ch.net/test/read.cgi/unix/990283346/

15 :名無しさん@お腹いっぱい。:02/02/11 02:56
>>14
そりゃ反則ですよ

16 :名無しさん@お腹いっぱい。:02/02/12 04:07
bash2って何処で手にはいるの?


17 :名無しさん@お腹いっぱい。:02/02/12 04:22
>>16
FreeBSDやLinuxのほとんどのディストリビューションに
はいってますよ。

18 :名無しさん@お腹いっぱい。:02/02/14 02:46
bash2補完機能もっとがんばれage

19 :名無しさん@お腹いっぱい。:02/02/21 00:20
ええと、自慢の.bashrcをアプし合うスレはここですか?

20 :名無しさん@お腹いっぱい。:02/02/21 04:59
>>19
いいえ。ゴミなら/dev/nullにどうぞ。

21 :名無しさん@お腹いっぱい。:02/02/21 06:37
おまえらのシステムにはこういうゴミが有りますか?
/usr/man/man1/..1.gz
/usr/man/man1/:.1.gz

22 :名無しさん@お腹いっぱい。:02/02/21 07:48
complete: usage: complete [-abcdefjkvu] [-pr]
[-A action] [-G globpat] [-W wordlist] [-P prefix]
[-S suffix] [-X filterpat] [-F function] [-C command] [name ...]

使い方が判らんのれす

23 :名無しさん@お腹いっぱい。:02/02/22 00:03
>>19

.bashrc

とりあえずネラーなら

MAILPATH="/var/mail/mona?メール キタ━━━━━━(゜∀゜)━━━━━━ !!!!! "
MAILCHECK=5

だろう。メールボックスのパスは自分で変えろよ。

24 :名無しさん@お腹いっぱい。:02/02/23 17:30
>>22
禿道

25 :名無しさん@お腹いっぱい。:02/02/24 00:35
man bash2 に結構書いてあった。
しかし -C の挙動が理解できない。


26 :名無しさん@お腹いっぱい。:02/02/24 00:36
スクリプトとかで /bin/bash が使われた時に
complete 無いぞ メッセージが出るんで
[ "$BASH_VERSINFO" = "2" ] で回避してみた。

27 :名無しさん@お腹いっぱい。:02/02/27 23:17
http://www.KU3G.org/negi/diary/?20020222#200202222
ここで少しだけ紹介されていた。ここにあるリンク先
http://www.caliban.org/bash/index.shtml#completion
にあるbash-completion-20020225.tar.gzのなかにたくさん
補完候補があったよ。但し、2.05以降でしか使えないみたい
だから2.04とかのひとはがんばってgoogleとかで探さないとね。


28 :名無しさん@お腹いっぱい。:02/03/01 11:58
>>27
ありがとうage

29 :名無しさん@お腹いっぱい。:02/03/03 12:44
>>26
対話的利用時の設定は、
PS1が設定されている場合だけ行うのが、Bourne系shellの流儀です。

if [ ${PS1:-not_interactive} = not_interactive ]; the
対話的利用時の設定(alias,completeなど)
fi

こうしないと別の人間が/のscriptを使った時に、
aliasの設定等により別の動作をしてしまう可能性があります。

bashは、$-にiが含まれていても対話的利用と分かります。

30 :名無しさん@お腹いっぱい。:02/03/03 15:21
>>29
> bashは、$-にiが含まれていても対話的利用と分かります。

$-かぁ。知らなかった。

31 :名無しさん@お腹いっぱい。:02/03/03 16:08
>>29
> こうしないと別の人間が/のscriptを使った時に、

#! /bin/bashのscriptを使った時に、

の編集ミスね。

32 :名無しさん@Emacs:02/03/08 17:16
誰か >>10
> と真似してみたところディレクトリは補完されないようです
を解決する関数を書いた人はいませんか? いたらウプして下さい。
bash-completion-20020306 を試してみたけどなさそうです。


33 :32:02/03/11 17:51
誰も反応してくれないので自分で書いたよ。
もっとシンプルに書けんもんかのう…せめて関数にパターンが渡せれば。
いちいち関数定義なんかしてられんよ。

_gs()
{
local cur
cur=${COMP_WORDS[COMP_CWORD]}
COMPREPLY=( $( compgen -d -- $cur ) \
$( compgen -f -X '!*.@(?(e)ps|?(E)PS)' -- $cur ) )
return 0
}
complete -F _gs -o filenames gs ghostview



34 :名無しさん@お腹いっぱい。:02/03/11 21:32
halt

35 :名無しさん@お腹いっぱい。:02/03/19 20:23
reboot

36 :名無しさん@お腹いっぱい。:02/03/22 10:04
login:

37 :名無しさん@お腹いっぱい。:02/03/25 13:19
login: root
Password:


38 :名無しさん@お腹いっぱい。:02/05/13 04:47
/sbin/shutdown -r now

39 :名無しさん@お腹いっぱい。:02/05/13 09:14
login:

40 :名無しさん@お腹いっぱい。:02/05/13 23:12
>>32
おれももディレクトリを補完できないで悩んでいたんだ。ありがとう。
33を試させてもらいます。

41 :40:02/06/03 20:31
ずいぶん返事が遅れてすまぬ。
33でうまくいってます。
しかし33のいうとおり一つ一つ関数定義するのメンドイね。
何かいい方法ないかな?


42 :名無しさん@お腹いっぱい。:02/06/07 09:38
bashがよくわ<tab>

43 :名無しさん@お腹いっぱい。:02/06/30 14:34
>>42
% bashがよくわ<tab>
からない かる かりたい らう
% bashがよくわ_

44 :名無しさん@お腹いっぱい。:02/06/30 14:51
英語がよくわ<tab>

45 :名無しさん@お腹いっぱい。:02/06/30 17:30
% 英語がよくわ<tab>
たしを苦しめる
% 英語がよくわ_


46 :名無しさん@お腹いっぱい。:02/06/30 22:27
$ tcshやzshはどうして<Ctrl-D>
で保管をリスティングするのだろう?
$ tcshやzshはどうして

$ promptを%<tab>
って書いている奴は本当にbash使ってるのかと(略
$ promptを%

47 :名無しさん@お腹いっぱい。:02/06/30 22:31
俺zshだけど%使ってる。

48 :名無しさん@お腹いっぱい。:02/07/15 17:17
bashでtcshみたいに
$ s
って入力してから履歴見ると
履歴の中で「s」で始まるのだけ表示してくれるようにって出来る?

49 :名無しさん@お腹いっぱい:02/07/15 23:08
>>46
コマカイコトイウナヨーオマエ

50 :名無しさん@お腹いっぱい。:02/07/16 01:49
>>46
% 俺は途中乗|<tab>
換でbash使い始めたけど$は落ち着かないから%にしてる
% 俺は途中乗|
% |
% う|<tab>
うるせーばか
% う|

51 :名無しさん@お腹いっぱい。:02/07/23 14:29
「bashがマルチバイト文字に正式対応」
http://slashdot.jp/article.pl?sid=02/07/22/1936207

これって日本語のファイル名とかもlsで表示できるってこと?

52 :名無しさん@お腹いっぱい。:02/07/23 15:20
こういう時はageたほうがいいような。

よくわからんのでさっそく2.05bをいれてみたんだが、行の折り返しで化ける問題
もマルチバイト文字を2文字として認識してる問題も、まるっきり変わってない
ような気が。
buildの仕方に問題あったのかなあ。

あ、でも補完機能すごいね。
補完リストが1画面分より長いと、途中で止めてくれるわ。これは便利かも。



53 :名無しさん@お腹いっぱい。:02/07/23 15:33
いっしょに話題になったreadlineをインスコした。
readlineを使ったプログラム、うちの場合はPostgreSQLの
フロントエンドpsqlなのだが、ロケールの設定を日本語に
しておくと、漢字部分でのカーソル移動がちゃんと2文字分
になってて、削除も漢字1文字ごとやってくれる。
多分新Bashもこんな感じなのかな。psqlではおかげで
日本語レコードの操作が楽になったので新Bashでは
ターミナルでのマルチバイト処理がしやすくなってる
と推測。あくまで推測 (w


54 :53:02/07/23 15:34
まてよ、psqlは前からマルチバイト扱えたっけ?
うーん、今では確認しようがない。スマソ。


55 :名無しさん@お腹いっぱい。:02/07/23 15:51
>>54
psqlは日本語パッチがあって、それ当ててれば日本語の編集がウマーだったよ
うな気がする。


56 :名無しさん@お腹いっぱい。:02/07/23 16:08
>>55
今のpsqlにはパッチ当ててない。それで日本語が
まともになったということは。やはりreadlineですかね。
なんかglibcといい、bashといい、マルチバイト対応が
すごいですね。ロケールの切り替えだけで多言語対応できる
Unixマンセー。


57 :名無しさん@お腹いっぱい。:02/07/23 16:26
>>52
コンパイルオプション増えた?>自分でやりって言わないで・・

58 :名無しさん@お腹いっぱい。:02/07/24 00:45
>>52
libcがヘボいと(たぶん)configure時に「マルチバイト駄目じゃん」と
判断されて従来通りコンパイルされるよ。
だからCitrus無しのNetBSDとかCygwinなんかだと悲しい…

59 :名無しさん@お腹いっぱい。:02/09/01 12:17
バスケットシューズあげ

60 :名無しさん@お腹いっぱい。:02/09/01 17:38
バトミントンシューズsage

61 :名無しさん@XEmacs:02/09/01 23:31
>48
.inputrc に

"\C-n":history-search-forward
"\C-p":history-search-backward

とか書くとか。


62 :名無しさん@お腹いっぱい。:02/09/09 11:53
bashのパターン照合について
複数のパターンで文字列を抽出
する方法ありましたらご指南お願いします。
(もっとも一旦変数に格納し、分ければ
いいのですが、可能ならばその方法を知りたいです。)

例えば、
$data="/export/user1/test-20020909.log"
で20020909の文字を抽出する場合、一度に
${${data##/*-}%.*}
の様にしたいのですが、
bad substitution
とエラーが出てしまいます。

63 :名無しさん@お腹いっぱい。:02/09/09 12:00
>>62
こっちで。

シェル、オークの質問コーナー
http://pc.2ch.net/test/read.cgi/unix/1000303370/

64 :名無しさん@お腹いっぱい。:02/09/09 12:18
>>62
誘導ども。
逝ってきます。

65 :名無しさん@お腹いっぱい。:02/09/17 06:57
補完じゃないんですけど教えてください。

emacsと同様に ALT+Backspaceで一語消したいのですが、
どうやったら良いのでしょうか?

66 :名無しさん@XEmacs:02/09/17 09:41
>65
あり、 ALT+BS ってデフォルトで消えなかったっけ?

ALT+h なら .inputrc に下を書けばいいんだけど。。。

"\M-h":backward-kill-word


67 :65:02/09/17 23:25
>>66
あっ、すみません!
家の中に、デフォルトで消えるbashと消えないbashがあるのに気付きました。

#うーん、なんでだろう??

68 :名無しさん@XEmacs:02/09/18 04:16
>67
version の違いですかね?

挙動の違いといえば、チルダの展開も変わってたりしてハマりますなぁ。。。


69 :67:02/09/18 04:56
それが、どうもバージョンじゃないみたいなんで悩んでます。(--versionしてみた)
しかも、消せるほうのbashのバイナリを消せないホストにコピーすると、ちゃーんと
消せるようになるんで、設定ファイルとかのせいでも無いみたい...
コンパイル時のオプションかと思うんですけど、もうコンパイルしたときの
作業したソースとか全部消しちゃったんで、ちゃんと動かせるオプション試行錯誤して見つけないと
確かめられなさそう...(コンパイル時のオプション情報なんてバイナリに残らないですよね...)


70 :名無しさん@お腹いっぱい。:02/10/20 17:29
bashで
"\ep": history-search-backward
"\en": history-search-forward
をC-pとかに割り当てたい

71 :名無しさん@お腹いっぱい。:02/10/20 17:49
cat .zsh-history |xargs ssh remote cat >> .zsh-history


72 :名無しさん@お腹いっぱい。:02/10/28 10:03
aae

73 :山崎渉:03/01/15 13:25
(^^)

74 :山崎渉:03/03/13 18:00
(^^)

75 :名無しさん@お腹いっぱい。:03/03/18 22:46
$ このス^I
このスレって、もう死に体だね!
$ このスレって、もう死に体だね!_

76 :名無しさん@お腹いっぱい。:03/03/19 06:29
>>70
割り当てろよ


77 :山崎渉:03/04/17 12:15
(^^)

78 :あぼーん:あぼーん
あぼーん

79 :名無しさん@Meadow:03/04/26 19:21
パラメータに入れた文字列を、パス展開させたいんだけど、
どうしたらようござんしょう?

例えば、

files="hoge*" && パス展開 && [ ${#files[*]} -ne 0 ]

とか、したいわけよ。


80 :79:03/04/26 19:40
とりあえず、パス名展開はでけたが、配列になってない…(T_T)

> touch hogea hogeb hogec
> echo hoge*
hogea hogeb hogec
> files="hoge*" && echo ${#files}
5
> files="hoge*" && tmp=`echo $files` && echo ${#tmp}
17

で $files がパス名展開されてることが分かったが、

> files="hoge*" && tmp=`echo $files` && echo ${#tmp[*]}
1

むきーっ



81 :79:03/04/26 20:21
もれはアホだー!!

> files=(hoge*) && echo ${#files[*]}
3


82 :あぼーん:あぼーん
あぼーん

83 :あぼーん:あぼーん
あぼーん

84 :名無しさん@お腹いっぱい。:03/06/14 12:32
どうせならmigemo呼び出して日本語ファイル名補完とかして欲すぃ。
誰か実装してたりしませんか。


85 :あぼーん:あぼーん
あぼーん

86 :名無しさん@お腹いっぱい。:03/06/15 11:23
>>56
PS1= の内容については、マルチバイト文字が認識されてないっぽい。

87 :名無しさん@お腹いっぱい。:03/06/18 22:47
menu-completeは引数を受け取れるとmanに書いてあるけど、
こういう引数付きコマンドを.inputrcで何らのキーに割り当てるにはどうするの?
色々やってみたんだが…。

88 :名無しさん@お腹いっぱい。:03/07/13 22:28
kshとbashどちらを先に覚えた方がいいですか?


89 :あぼーん:あぼーん
あぼーん

90 :名無しさん@お腹いっぱい。:03/07/19 22:38
cygwinのbashには/etc/bash_completionが入ってないなー。

91 :名無しさん@お腹いっぱい。:03/07/26 22:49
Mainte


92 :名無しさん@お腹いっぱい。:03/07/31 11:23
bashにはtcshのコンプリート機能はないにょ?

93 :名無しさん@お腹いっぱい。:03/07/31 11:28
bash には bash のコンプリート機能があるにょ。

94 :名無しさん@お腹いっぱい。:03/07/31 12:08
>>93 あったにょ?知らなかったにょ

95 :ぼるじょあ ◆yBEncckFOU :03/08/02 04:59
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

96 :コンプマン:03/10/15 14:57
今日はすごい裏技を紹介します。
題して、 「 1から255までループ 」

まず、 1から255までの連続したファイル名を用意します。
中身は空でかまいません。
そのファイルをどこかのディレクトリに格納します。

そして、そのディレクトリに移動したら
for i in *; do echo $i; done

これでばっちり1〜255までループできますね!

【応用編】
1万回ループしたいときは、ファイルを
1〜10000まで用意するといいですよ

97 :名無しさん@お腹いっぱい。:03/10/15 15:10
>>96
$ for i in *; do echo $i; done
1
10
100
101
102
103
104
105
106
107
108
109
11
110
111
...

先生!順番が…


98 :コンプマン:03/10/15 15:13
>>97
新たな投稿ありがとう。 ミッションスタート!!

ファイル名を

000
001
002
・・・
254
255

と書き換えましょう

99 :名無しさん@お腹いっぱい。:03/10/15 15:49
裏技やるのにファイル作るの面倒な人用↓
a=0;while [ $a -le "255" ];do touch $a;let a="${a}+1";done

こいつで裏技バッチリ。

100 :コンプマン:03/10/15 16:53
応援ありがとう!!
だが、それではファイル名が>>97のようになってしまい
とても不完全なものとなるのでした。
そこで>>99を添削してみました。 caseが美しいですね。

a=1;
while [ $a -le "255" ]; do
case `echo ${#a}` in
"1") s="00$a" ;;
"2") s="0$a" ;;
"3") s="$a" ;;
esac; touch $s; a=$((a+1));
done

101 :今婦てぃっく:03/10/15 18:37
>>100
a=0;while [ $a -le "255" ];do touch `printf %03d\\n $a` ;let a="${a}+1";done

102 :今婦てぃっく:03/10/15 18:39
>>101
\\nいらね〜・・・touch ``なしで実験したんだよもん

103 :名無しさん@お腹いっぱい。:03/10/15 18:54
桁数そろえるには、こんな感じかな。
for i in *;do mv $i `echo $i |sed "s/^\([0-9]\)$/00\1/;s/^\([0-9][0-9]\)$/0\1/"`;done

104 :名無しさん@お腹いっぱい。:03/10/16 09:50
GNU coreutils の seq でいいよ...


105 :コンプマン:03/10/16 10:35
>>104
for i in `seq -w 255`; do touch $i; done
と、こうくるわけですか。さすが グニュー使いは裏技使い!
もちろん動作も最も速くて完璧超人ですか・・・

でももしこれが 255000 だったりしたらたいへんです
なかなか始まりません。 これが今日の裏技。

106 :名無しさん@お腹いっぱい。:03/10/16 10:45
seq -w 255000 | while read i;do echo $i;done
だと、ちっとまし?

107 :今婦てぃっく:03/10/16 14:17
>>105
のまえにラインバッファの限界こないか?
xargsとかつかいな

108 :名無しさん@お腹いっぱい。:03/10/16 14:31
>>104
> GNU coreutils の seq でいいよ...

zsh だとビルトインですが何か?

109 :コンプマン:03/10/16 14:40
>>107
それは大丈夫だ。
100万個のループでも我慢して待てば動作するぞ!

だが 1000000 は 1e+06 と表現されるから注意が必要だ。
キミも渡来!

110 :名無しさん@お腹いっぱい。:03/10/16 14:48
>>108
何でもかんでも built-in にするのキモい。

111 :名無しさん@お腹いっぱい。:03/10/16 17:47
>>110
思想的にちょっぴり同意。

112 :名無しさん@お腹いっぱい。:03/10/16 18:46
busybox立場無いなぁ とか思ったりしたけど バッシュレ?

113 :名無しさん@お腹いっぱい。:03/10/16 19:13

built-inだと誇らしげに言ってるあたりがイタイね

114 :名無しさん@お腹いっぱい。:03/10/16 21:03
void main (){}

をa.outとコンパイルして

a.out && echo "sage"

とするとsageと表示されるのですがそんなものなのですか?
返り値を返してはいないのですが。。。
不定の結果なのでしょうか?

115 :名無しさん@お腹いっぱい。:03/10/16 21:26
>>114
./a.out; echo $?
だとどう?


116 :名無しさん@お腹いっぱい。:03/10/16 23:25
>>110
> 何でもかんでも built-in にするのキモい。
>>113
> built-inだと誇らしげに言ってるあたりがイタイね

そうかな。coreutils, bash を両方インストールするのが無駄

117 :名無しさん@お腹いっぱい。:03/10/17 01:23
>>116
coreutils = fileutils + textutils + sh-utils
どのみち使う。無駄なわけない


118 :名無しさん@お腹いっぱい。:03/10/17 02:18
zsh はいつか perl も built-in にしそうだな。

119 :名無しさん@お腹いっぱい。:03/10/17 02:39
ゆくゆくは Emacs を

120 :名無しさん@お腹いっぱい。:03/10/17 02:58
>>117
> coreutils = fileutils + textutils + sh-utils
> どのみち使う。無駄なわけない

Linux ゆーざだけでは?

121 :名無しさん@お腹いっぱい。:03/10/17 10:35
ああ、>>117 の 3 つがまとまった coreutils は GNU の産物だからね。
Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
本気で細々したプログラム群を個別にインストールしなくていいので楽。
coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。

122 :名無しさん@お腹いっぱい。:03/10/17 10:39
>>121
> Linux 使いは coreutils パッケージとしてまとめてインストールしておいたほうが
> 本気で細々したプログラム群を個別にインストールしなくていいので楽。

板違い。

> coreutils が要らないって人は別のパッケージングや管理方法を使ってるんでしょう。たぶん。

OS 附属のものを使ってます。

123 :名無しさん@お腹いっぱい。:03/10/17 14:07
>>112
あれは限定された環境で使うためのものじゃん。

124 :名無しさん@お腹いっぱい。:03/11/10 09:22
補完の話じゃなくて申し訳ないが質問。

十年以上 tcsh使ってて、
たまーに Linuxとか cygwin入ってる Windowsとかで bashを使うことが
あって、そのたびに面倒だなーと思ってるんだけど

bash で tcsh の implicitcd に相当することをするにはどうするの?
(ディレクトリ名タイプだけで cdする機能)


125 :名無しさん@お腹いっぱい。:03/11/10 20:22
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
...

126 :名無しさん@お腹いっぱい。:03/11/16 20:55
bashが当たり前に動いてるUNIXってあるんですか?

127 :名無しさん@お腹いっぱい。:03/11/16 22:07
linux

128 :名無しさん@お腹いっぱい。:03/11/16 22:19
cygwin

129 :名無しさん@お腹いっぱい。:03/11/16 22:24
>>126
ずいぶん前から Solaris にも入ってるよ。

130 :名無しさん@お腹いっぱい。:03/11/17 21:27
solarisですか!勉強になりました。調べてみます。

131 :仕様書無しさん:04/02/15 19:32
補完の質問ではないのですが、他にbashのスレが無いようなので
ここに書かせていただきます。
ls -l | grep '^d'
のようなパイプラインの実現方法なのですが、
@foo.shのようなファイルに記述してそこにパスを通す
A.bashrcで関数function foo{...}と定義する
上記の@とAのどちらが適切なのでしょうか。

132 :名無しさん@お腹いっぱい。:04/02/15 20:20
・シェル関数はカレントシェルのプロセス内で実行される
・シェルスクリプトはサブシェル内で実行される

ls -a | grep なんとか

というコマンド列はどっちでも変わらない。

133 :名無しさん@お腹いっぱい。:04/02/15 21:52
>>131
どちらがといわれても、どっちも空白にしか見えない。

134 :コンプマン:04/03/01 11:40
今日はbashのif文で質問だ!
if文は便利だが、AND条件でちょっと困ったことがある

if [ "$HOGE"="hoge" and "$PIYO"="piyo" ]; then 〜

みたいなことをやりたいときは どうするのが賢いかな?
if文if文、またif文!?

135 :名無しさん@お腹いっぱい。:04/03/01 11:51
あきらめて下さい。

136 :名無しさん@お腹いっぱい。:04/03/01 12:08
if [ list1 -a list2 ]; then 〜

137 :名無しさん@お腹いっぱい。:04/03/01 13:00
>>134
if [ "$HOGE" = hoge ] && [ "$PIYO" = piyo ]; then
補完関係ないし。

138 :名無しさん@お腹いっぱい。:04/03/01 13:20
[ が何だかわかってるのかな

139 :コンプマン:04/03/01 13:45
>>138
今知った! 賢くなった!

>>137
ありがとう! 紳士よ!

140 :名無しさん@お腹いっぱい。:04/03/01 13:54
>>134
help test
or
man test


141 :名無しさん@お腹いっぱい。:04/04/13 13:15
if文で文字列の辞書比較

142 :名無しさん@お腹いっぱい。:04/04/14 15:15
if文で文字列の辞書比較
はどうやら出来そうも無い

143 :名無しさん@お腹いっぱい。:04/04/17 14:48
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに

144 :名無しさん@お腹いっぱい。:04/04/17 15:01
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告

145 :名無しさん@お腹いっぱい。:04/04/27 21:52
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを

146 :名無しさん@お腹いっぱい。:04/05/01 16:45
if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを
ぬ<tab>

ぬか ぬっころす ぬりたくり ぬるぽ

if文で文字列の辞書比較
はどうやら出来そうも無い
別の方法で実現することに
したいと僕のアナルが報告
するためにローションを



147 :名無しさん@お腹いっぱい。:04/05/01 22:55
>146 ガッ!! AA(ry

148 :名無しさん@お腹いっぱい。:04/05/11 10:20
uniqするにはsortしなければならないけど
sortしてuniqしたあと、sort前に戻したい

というか、sortなしでuniqしたい
どうしたらいいかな?

自分で書いたらかっこよくなかった
スタイリッシュな方法キボン

149 :名無しさん@お腹いっぱい。:04/05/11 10:24
cshがあれば他はいらなくね?
ぬるぽ

150 :名無しさん@お腹いっぱい。:04/05/11 10:59
番号つけてsortしてuniqして番号順にsortして番号消すってのが、
かっこよくない方法か?>>148

151 :名無しさん@お腹いっぱい。:04/05/11 11:03
補完と関係あるのか?

152 :名無しさん@お腹いっぱい。:04/05/11 11:41
>>150
番号つけてソートしたら番号順にソートされて
つまりそれってソートされないんじゃ?

153 :名無しさん@お腹いっぱい。:04/05/11 11:56
>>152
番号以外の部分でソートするってことです。

154 :名無しさん@お腹いっぱい。:04/05/11 12:21
丁寧にソートするですね

そーっと


ウェーハッハッハ

155 :名無しさん@お腹いっぱい。:04/05/11 12:23
tcsh

156 :名無しさん@お腹いっぱい。:04/05/11 17:18
ソートしてみた。
視覚化になんとJavaVMを使用しています。

* #!/usr/local/bin/bash
* declare -a array[15];
* while :; do
* array=(`cat /dev/urandom|od -tu1 \
* | sed -e 's/^..........//g'| head -n 1`);
* for ((I = 0;I < 16; I++)); do
* echo -n " ${array[${I}]}";
* done
* echo -e "";
* for ((I = 0;I < 15; I++)); do
* for ((J = 15; J > ${I}; J--)); do
* if [ ${array[J - 1]} -gt ${array[J]} ]; then
* tmp=${array[J - 1]};
* array[J - 1]=${array[J]};
* array[J]=${tmp};
* fi
* for ((K = 0;K < 16; K++)); do
* echo -n " ${array[${K}]}";
* done
* if [ ${I} -lt 14 ]; then
* echo -n $'\r';
* fi
* java -version > /dev/null 2>&1;
* done
* done
* echo -e '\n' '\n';
* done


157 :名無しさん@お腹いっぱい。:04/05/13 05:48
csh, tcshはうんこ

158 :名無しさん@お腹いっぱい。:04/06/09 00:40
バージョン 2.05bで、
コマンド ./bin/mycommand を補間しようとして、
./b のあとに補完すると、
./bin を補完してくれるのですが、
「n」のあとに余分なスペースを一つ入れられてしまいます。
期待しているのは
./bin/ と(スペースなしで)補完してくれることなんですが、
どう設定すればいいかご存知の方、
教えて下さい。

159 :名無しさん@お腹いっぱい。:04/06/09 01:43
zsh を使う

160 :名無しさん@お腹いっぱい。:04/06/14 02:44
>>158
そういう設定にしちゃってるんじゃない?
新しいアカウントでもそうなる?
setやcompleteの出力を確認してみてみ。

161 :名無しさん@お腹いっぱい。:04/06/16 03:08
>>160
設定の問題ではなさそうで、
2.05aでは問題なしだった。


162 :名無しさん@お腹いっぱい。:04/06/16 03:28
うちじゃ 2.05b でも、たとえば ls ./b <tab> で ls ./bin/ になるよ。
コマンドに対して complete でなんか設定しているんじゃないの?


163 :名無しさん@お腹いっぱい。:04/06/16 03:33
>>162
コマンドの引数じゃなくてコマンドそのものの補完の時。
というか公式パッチ確かめたら、出てました。
bash205b-003でした。

164 :名無しさん@お腹いっぱい。:04/07/29 22:01
bash 3は{1..10}を展開するようになったんだね。
**/Makefileも展開して欲しいなあ。

165 :名無しさん@お腹いっぱい。:04/07/30 00:06
>>164
でも{01..10}は展開してくれないんだ…
よって価値無し(wgetでアレなことするには)。

166 :名無しさん@お腹いっぱい。:04/07/30 11:24
$ for i in `seq -w 1 10`;do wget http://www.example.com/fuck/porn/teen$i.wmv;done

seqがないシステムだとどうやって苧としてるの?>all



167 :名無しさん@お腹いっぱい。:04/07/30 11:42
>>166
man 1 curl

168 :166:04/07/30 11:49
>>167

curlだとそんな芸当ができたのかorz


169 :名無しさん@お腹いっぱい。:04/07/30 11:52
seqがないシステムって多いの?

170 :名無しさん@お腹いっぱい。:04/08/27 14:59
>>166
まず、 1から255までの連続したファイル名を用意し

171 :名無しさん@お腹いっぱい。:04/08/27 15:00
コマンドの実行結果って何で見れるんだっけ?
exit(x); とかのxの値のことね

$!だと思ったけどなんか違った

172 :名無しさん@お腹いっぱい。:04/08/27 15:49
manくらい読めよ。
$?な

173 :名無しさん@お腹いっぱい。:04/08/27 16:53
for ((i=0; i<20; i=i+1));do
wget http://www.hoge.com/`printf "%02d"`.jpg $i;
done

174 :名無しさん@お腹いっぱい。:04/08/27 16:55
あう...
for ((i=0; i<20; i=i+1));
do wget http://www.hoge.com/`printf "%02d\n" $i`.jpg;
done

175 :名無しさん@お腹いっぱい。:04/08/27 17:44
>>172
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
書いてないんだよね
Linuxはウンコなのかなぁ・・・

176 :名無しさん@お腹いっぱい。:04/08/27 18:29
>>175
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbAT
あるじゃん。

bash は Linux 専用じゃないよ。

177 :名無しさん@お腹いっぱい。:04/08/27 18:43
>>174
curl 'http://www.example.com/[00-19].jpg' -o '#1.jpg'

178 :名無しさん@お腹いっぱい。:04/09/08 16:22
perlは反則?
$ perl -e "('001'..'100'){s#(.*)#`wget http://www.hoge.com/$1.jpg`#e}"

179 :名無しさん@お腹いっぱい。:04/09/08 16:37
>>178 スレタイ読んでみれば。

180 :名無しさん@お腹いっぱい。:04/09/08 21:22
こっちでやろうよ。

連番のH画像を一気にダウンロードする
http://pc5.2ch.net/test/read.cgi/unix/979106537/

181 :名無しさん@お腹いっぱい。:04/09/16 23:17:08

for i in *
do
done

ではエラーになってしまいます。
bashで空文はどうすればいいのでしょうか?

182 :名無しさん@お腹いっぱい。:04/09/16 23:18:44
>>181
for i in *
do
:
done


183 :名無しさん@お腹いっぱい。:04/09/17 01:07:56
bash-2.05b$ たまには
たまには補完スレらしく補完してみたり。 たまには糞スレを荒らしてみたり。
bash-2.05b$ たまには


184 :名無しさん@お腹いっぱい。:04/09/19 22:09:56
$( < /etc/passwd ) と $( cat /etc/passwd )
は同じ事ですか?
アドバイスお願いします。

185 :名無しさん@お腹いっぱい。:04/09/19 22:24:29
>>184
違う
catという名前のrootにsetuidされたrmコマンドがパスの通ったところの最初にあったら怖いだろ

186 :名無しさん@お腹いっぱい。:04/09/19 22:49:57
>>185
レスありがとうございます。
具体的には$( < /etc/passwd )の方が安全と言うことなのでしょうか?
いまいちつかめないのですが・・・

187 :名無しさん@お腹いっぱい。:04/09/20 03:18:38
全然違います。

188 :名無しさん@お腹いっぱい。:04/09/21 23:12:43
ところで小数の計算ってどうやるの?
for(i=0.0;i<10.0;i=i+0.1){}みたいにしたいのに、やり方がさっぱりわからん。
どなたかやり方教えてください。

189 :名無しさん@お腹いっぱい。:04/09/21 23:53:31
>>188
10倍して整数で計算しようぜ

190 :名無しさん@お腹いっぱい。:04/09/22 00:29:58
Cシェルでファイルを読み込む方法を教えて下さい。


191 :名無しさん@お腹いっぱい。:04/09/22 00:51:09


192 :名無しさん@お腹いっぱい。:04/09/22 01:55:54
>>190
set `cat hoge`

193 :名無しさん@お腹いっぱい。:04/09/22 08:06:34
>>190
あなたの想定している「ファイルを読み込む」を説明してください.

194 :名無しさん@お腹いっぱい。:04/09/22 13:04:13
>>188
整数部分と小数部分でダブルループにする

195 :188:04/09/22 22:15:29
レスしてくれた人、ありがとうございます。
参考にさせていただきます。

196 :名無しさん@お腹いっぱい。:04/09/22 23:15:01
>>192
>>192
神様へ。
レスありがとうございます。

何がやりたいかというとですねぇ・・・

Cシェルで、ある実行ファイルを実行したいときに、それに渡すためのパラメタを、
ファイルから読み込みたいということなんです。
イメージとして、

// イメージここから
#!/bin/csh

read init.ini // iniファイルを読み込む

Hoge $aaa // 実行ファイルHogeに対して、読み込んだinit.iniに記述している項目を$aaaに設定し、
// パラメタとして指定するということです。

// イメージここまで



197 :名無しさん@お腹いっぱい。:04/09/23 09:41:02
>>196
Hoge `cat init.ini`

198 :名無しさん@お腹いっぱい。:05/01/18 18:03:46
aliasで外部アプリ起動時に引数を渡すには
スクリプトを書く以外に方法はありませんか?

alias hage='/d/program\ files/hage/hage.exe $* &'

みたいなaliasを登録したいんですけど。

199 :名無しさん@お腹いっぱい。:05/01/21 19:38:31
i-searchで履歴を検索する時に大文字小文字を区別できませんか?
TABでmenu-completeに設定してるんですけど
*abc*<TAB>
等と入力するのが面倒なので
TABで先頭一致補完、Ctrl+TABでインクリメンタル補完にしたいんですけど
ワイルドカードを使わずにインクリメンタル補完する方法ってありますか?

200 :名無しさん@お腹いっぱい。:05/01/21 19:40:27
うぁ読み難いですね。
質問したいことは二つあります。

1.i-searchで履歴を検索する時に大文字小文字を区別できませんか?

2.TABでmenu-completeに設定してるんですけど
*abc*<TAB>
等と入力するのが面倒なので
TABで先頭一致補完、Ctrl+TABでインクリメンタル補完にしたいんですけど
ワイルドカードを使わずにインクリメンタル補完する方法ってありますか?

よろしくお願いします。

201 :名無しさん@お腹いっぱい。:05/01/21 19:41:43
度々すいません。訂正です。
うぁ読み難いですね。
質問したいことは二つあります。

1.i-searchで履歴を検索する時に大文字小文字を区別できませんか?

1.i-searchで履歴を検索する時に大文字小文字を区別しないようにできませんか?

202 :名無しさん@お腹いっぱい。:05/01/23 01:21:31
タブを押したとき、直前の単語に * が含まれていればマッチするもの全てに展開、
含まれていなければ候補を1つずつ回って行くという挙動にできますか?


203 :名無しさん@お腹いっぱい。:05/01/23 10:23:22
>>202
zsh に乗り換える

204 :名無しさん@お腹いっぱい。:05/01/23 11:01:14
展開うざくね?

205 :名無しさん@お腹いっぱい。:05/01/28 23:33:32
### で始まる文字列が来るまで
テキストを表示する
というスクリプトを書きたいんだけど
最も短く記述するには
なにがいいかな

206 :名無しさん@お腹いっぱい。:05/01/28 23:39:05
>>205
bashとの関係は・・・
漏れならこんなの書きそうだが
gawk '/^###/{exit} {print $0}' ファイル名


207 :名無しさん@お腹いっぱい。:05/01/29 00:20:58
sed -n -e '/^###/q' -e p
の方が短い

208 :名無しさん@お腹いっぱい。:05/01/29 00:59:33
i-searchで履歴を検索する時に大文字小文字を区別しないようにできませんか?

209 :名無しさん@お腹いっぱい。:05/02/16 23:13:21
ヒアドキュメント内で痴漢したいんですけど、どうしたらいいですか?
こんな感じで使いたいですが

name="usagi"
cat > tmp.txt <<'SAILORMOON'
tsukino $name
SAILORMOON

210 :名無しさん@お腹いっぱい。:05/02/17 09:51:42
>>209
パラメータ展開したいんなら、
終了文字列をクォートしちゃいかん。

name="usagi"
cat > tmp.txt << SAILORMOON
tsukino $name
SAILORMOON

あと、bash補完の話題じゃないので、シェルスクリプトスレに書いてくれ。

211 :名無しさん@お腹いっぱい。:05/02/17 13:16:48
>>210
それだと
tsukino usagi
にならず
tsukino $name
のままなんですよ

あと、続きはシェルスクリプトスレを探してみます

212 :名無しさん@お腹いっぱい。:05/02/17 13:37:17
>>211
んなこたぁない。

cat > tmp.txt << 'SAILORMOON'

を、↓

cat > tmp.txt << SAILORMOON

にしてもう一回やってみろ。
(どこが違ってるかわかってる?)

ちゃんと、
tsukino usagi
と表示されるよ。

213 :名無しさん@お腹いっぱい。:05/02/17 15:17:40
できtらー!ありがとー!

214 :名無しさん@お腹いっぱい。:05/02/18 00:30:45
Windowsのコマンドプロンプトのように
ファイル名やパス名を補完した結果の文字列を
ダブルクォートで囲むようにしたいのですが、
どうしたらよいでしょうか?

cd My<tab>
    ↓
cd "My Documents"


completeコマンドでprefix,suffixにダブルクォートを指定しても
うまくいきません・・・



215 :名無しさん@お腹いっぱい。:05/02/20 16:56:40
zshなら勝手になる

216 :名無しさん@お腹いっぱい。:05/02/20 17:30:42
>>214
cd "My<tab>
じゃあダメかね?

217 :名無しさん@お腹いっぱい。:05/02/21 22:37:05
>>214
cd My¥ Documents となると思ふけど,それぢゃ具合悪くって?

218 :名無しさん@お腹いっぱい。:05/02/21 22:59:57
レスどうもー。

>>215
できればbashでやりたいな、と。

>>216
その"を打つのが面倒なので補完したいのです・・・。

>>217
具合悪いです・・・。
cygwinからwinアプリを起動する時の引数として
それだとうまくいかないんですよねぇ。

219 :名無しさん@お腹いっぱい。:05/02/22 02:30:35
フォルダ名変えちまえ

220 :名無しさん@お腹いっぱい。:05/02/22 02:47:09
function qwinpath { cygpath -mal "$@" | while read; do f=${REPLY//\//\\}; echo \"$f\"; done }
function amp { winamp $(qwinpath "$@" ) & }

cygwinスレでwinampにスペースを含むパスを送りたいから助けてくれと書き込んだ時に教えてもらった。

>cygwinからwinアプリを起動する時の引数
を用意してくれる。



221 :名無しさん@お腹いっぱい。:05/02/25 20:42:15
>>220
ありがとうございます。
しかし、思ったような動作はしませんでした。
うまい方法はないようですね。
bashを直接いじることにします。

222 :名無しさん@お腹いっぱい。:05/03/12 22:46:10
A.txt というファイルに、

AAA='/home/user/sample.conf'

と書かれている行があって、これの引数部分を変数に代入するのに

PARA=`sed -ne "s/^AAA.*'\(.*\)'/\1/p" A.txt`

とやると一応、値の後ろに一文字空白がくっついてしまいます。
これを取るにはどうすれば良いのでしょうか。

223 :名無しさん@お腹いっぱい。:05/03/12 23:51:21
>>222
PARA=`sed -ne "s/^AAA.*'\(.*\)' */\1/p" A.txt`

224 :名無しさん@お腹いっぱい。:05/03/13 00:13:47
>>223
bash か sed か、どちらのミスなのか迷ってたのですが、
sedの方でしたか。
上手く行きました!ありがとうございます。

225 :名無しさん@お腹いっぱい。:05/03/17 14:44:29
sedでカンマの前に値が入ってなかったらnullという文字列を入れる処理を作っているのですが
どうもうまくいきません。
実際に打ち込んでるコマンドは
sed 's/,[:space:]*,/,null,/g' < a > b

aのファイルには
a,b,,d,e,f,,
,,,,,,,,,,
となっています。

すみませんが誰かご教授お願いします。

226 :名無しさん@お腹いっぱい。:05/03/17 15:25:05
期待している出力例がわかりまへん。

227 :225:05/03/17 16:04:49
すいません
期待してる出力例は
225にあるaのファイルを
a,b,null,d,e,f,null,null
null,null,null,null,null,null,null,null,null,null,null
としてb出力するようになるようにしたいです。

申し訳ありません。

228 :名無しさん@お腹いっぱい。:05/03/17 16:39:10
>>225
あまりきれいじゃないが:
sed -e 's/.*/,&,/' -e ':1' -e 's/,[[:space:]]*,/,null,/' -e 't 1' -e 's/,\(.*\),/\1/'

229 :225:05/03/17 16:45:45
>>228
まだ、駆け出しですが是非参考にさせてもらいます。
本当にありがとうございます。

sage忘れすいません。

230 :(´д`)ノ ◆zAyjllBm/g :2005/03/21(月) 18:01:04
$ cd // && pwd
裏面に行けるズラ

231 :名無しさん@お腹いっぱい。:2005/03/21(月) 18:13:26
$ cd / && pwd
/
$ cd // && pwd
//
$ cd /// && pwd
/

裏面キター

232 :名無しさん@お腹いっぱい。:2005/03/21(月) 18:33:02
ls //bin

233 :(´д`)ノ ◆zAyjllBm/g :2005/03/21(月) 18:35:58
[root@hoge /]$ find ./ -name //
[root@hoge /]$

[root@hoge /]$ mkdir /
mkdir: ディレクトリ `//' を作成できません: ファイルが存在します

[root@hoge /]$ touch //
touch: `//' のタイムスタンプを設定中: 許可がありません

[root@hoge /]$ cd //
[root@hoge //]$


('A')....w
rm ーfr //
はこわいからできない。


234 :(´д`)ノ ◆zAyjllBm/g :2005/03/21(月) 18:47:34
ごめんうそついた。
ほんとは一般ユーザでやった


ノシ

235 :名無しさん@お腹いっぱい。:2005/03/21(月) 19:19:11
ダブった / はカウントされないだけ

236 :名無しさん@お腹いっぱい。:2005/03/21(月) 19:46:39
>>231 みたいに一貫性がないのは、実害はないけどバグでしょ。

237 :名無しさん@お腹いっぱい。:2005/03/21(月) 21:50:28
>>236
仕様。
http://www.faqs.org/faqs/unix-faq/shell/bash/
の E10

238 :名無しさん@お腹いっぱい。:2005/03/21(月) 22:45:22
仕様という名のバグだろ。

Q.□ボタンが凹むのですが
A.仕様です

アホか

239 :名無しさん@お腹いっぱい。:2005/03/21(月) 23:28:17
>>238
>>237 のリンク先読んだ?
意図てきにそうしてあるよ。

240 :名無しさん@お腹いっぱい。:2005/03/21(月) 23:39:04
> This is, I presume, for historical compatibility. Certain versions of
> Unix, and early network file systems, used paths of the form
> //hostname/path to access `path' on server `hostname'.
み、見たことねぇ……(;´Д`)

241 :名無しさん@お腹いっぱい。:2005/04/04(月) 11:46:01
bashdbって使ったことありますか?
簡単なステップ実行できますね。

242 :名無しさん@お腹いっぱい。:2005/04/04(月) 14:12:45
>>241
もっと詳しく

243 :名無しさん@お腹いっぱい。:2005/04/04(月) 14:22:16
>>242
こんな感じ。
Administrator[ 2:22PM]% bashdb a.sh M-SAKAI1:~
Bash Debugger version 1.2.4
Reading source from file: a.sh
Stopped at line 3
a.sh:3 >ls
bashdb> ?
bashdb commands:
break N set breakpoint at line N
break list breakpoints & break condition
condition foo set break condition to foo
condition clear break condition
delete N clear breakpoint at line N
delete clear all breakpoints
display EXP evaluate and display EXP for each debug step
display show a list of display expressions
undisplay N remove display expression N
list N M display all lines of script between N and M
list N display 5 lines of script either side of line N
list display 5 lines if script either side of current line
continue continue execution upto next breakpoint
next [N] execute [N] statements (default 1)
print expr prints the value of an expression
trace toggle execution trace on/off
ftrace [-u] func make the debugger step into function FUNC
(-u turns off tracing FUNC)
help print this menu
! string passes string to a shell
quit quit


244 :名無しさん@お腹いっぱい。:2005/04/04(月) 14:35:38
>>243
すばらしそうだな

245 :名無しさん@お腹いっぱい。:2005/04/04(月) 15:24:02
>>244
ソースの./bash-3.0/examples/bashdb/bashdbに入ってるよ。
引数にシェルスクリプトを指定すればすぐ使えます。

246 :名無しさん@お腹いっぱい。:2005/05/01(日) 22:32:09
-aalias
-bbuiltin
-ccommand
-ddirectory
-eexport
-ffile
-ggroup
-jjob
-kkeyword
-sservice
-uuser
-vvariable


247 :名無しさん@お腹いっぱい。:2005/05/08(日) 23:07:20
bashのコマンドラインからコマンド打つときの
引数の長さや数の上限は、環境変数で変更できるの?

248 :名無しさん@お腹いっぱい。:2005/05/15(日) 20:29:49
bashの保管ってコンテキストで変えられるの?
たとえば
man TAB
だとmanのあるやつがリストアップとか

249 :名無しさん@お腹いっぱい。:2005/05/15(日) 21:11:28
>>248
http://www.google.no/search?q=bash の9番目

250 :名無しさん@お腹いっぱい。:2005/05/15(日) 21:37:40
プログラマぶるか


251 :名無しさん@お腹いっぱい。:2005/05/24(火) 18:02:54
bashでファイルをインクルードする方法ってないでしょうか?
Aというファイルに関数abcというのがあり、
BというスクリプトからAの中にある関数abcを呼び出したいんですが
検索しても見つからなかったのでご教授お願いします。


252 :名無しさん@お腹いっぱい。:2005/05/24(火) 18:10:25
>>251
.とか。

253 :名無しさん@お腹いっぱい。:2005/05/25(水) 09:02:06
>>251
ソース

254 :名無しさん@お腹いっぱい。:2005/05/25(水) 17:32:54
初心者です。251がどこを検索したのか知りたいんですが教えて下さい。

255 :名無しさん@お腹いっぱい。:2005/05/25(水) 17:55:22
>>254
このスレ


256 :名無しさん@お腹いっぱい。:2005/05/26(木) 14:04:15
タブ補完でディレクトリを手繰るとき、ディレクトリがシンボリックリンクだと
2回タブキーを押さないといけないのがうざったいですが、なんとかなりませんか?

bash2.05です。昔は、普通のディレクトリでもディレクトリへのシンボリックリンクでも
タブ1回で済んでいたような気がします。

257 :名無しさん@お腹いっぱい。:2005/05/29(日) 13:14:08
>>256
echo set mark-symlinked-directories on >> ~/.inputrc

258 :名無しさん@お腹いっぱい。:2005/07/07(木) 10:34:34
whichコマンドでjavacを指定すると
/usr/fuga/bin/javac
となるんですが、
これを
/usr/java/j2sdk1.4.2_05/bin/javac
に変更したいのですが、どうすればよいでしょうか?

.bash_profileの中身には
PATH=$PATH:$HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
($HOMEはfuga)
となっていますが、これは変えたくないのですが・・・

ご教授お願いします。

259 :名無しさん@お腹いっぱい。:2005/07/07(木) 10:36:23
>>258
alias javac=/usr/java/j2sdk1.4.2_05/bin/javac

bash なら which より type 使え。

260 :七資産@尾名課一敗:2005/08/06(土) 13:07:42
bash の Trap 設定ってデフォルトで以下が入ってしまうのは?

--------------------------
bash$ trap
trap -- '' SIGINT
trap -- '2' SIGQUIT
bash$
--------------------------
何かの罠?

Solaris8 (SPARC)です。
--------------------------
$ pkginfo -l SMCbash
PKGINST: SMCbash
NAME: bash
CATEGORY: application
ARCH: sparc
VERSION: 3.0
BASEDIR: /usr/local
VENDOR: FSF
PSTAMP: Steve Christensen
INSTDATE: x月 xx 2005 hh:mm
EMAIL: steve@smc.vnet.net
STATUS: 完全にインストールされました。
FILES: 261 installed pathnames
5 shared pathnames
22 directories
21 executables
16794 blocks used (approx)
$
--------------------------

261 :名無しさん@お腹いっぱい。:2005/08/06(土) 14:08:39
>>260
パッチあてれ。

262 :名無しさん@お腹いっぱい。:2005/08/06(土) 14:09:38
>>260
/etc/profile

263 : :2005/10/20(木) 20:46:12
起動したら最後PID見てkillするしか止める方法が無いプログラムの
start、stopをbashで書こうと思っているのですが(XXXXctlみたいな奴です)
PIDを取得するのに良い方法はあるんでしょうか?

今は$(ps -ef | grep プログラム名 | cut -c 9-14 | sed -e "s/\s//g")とかやって
配列に突っ込んでるんですが、、、
そもそもpsの出力って固定長でしたっけ?

ちなみにOSはRHES3です

264 :名無しさん@お腹いっぱい。:2005/10/20(木) 22:13:22
>>263
$!

265 :名無しさん@お腹いっぱい。:2005/11/05(土) 12:15:34
>>263
お前それ板違いだろ。コママンドライン補完でもないし…

/FYI/ pgrepが入っているはずだよ。

266 :名無しさん@お腹いっぱい。:2005/12/25(日) 11:37:35
~/.inputrc に

"\M-p": history-search-backward
"\M-n": history-search-forward

と書いてあるんだが、3.1 にしたら効かなくなったみたい。

"\ep": history-search-backward
"\en": history-search-forward

なら

267 :名無しさん@お腹いっぱい。:2006/01/20(金) 22:53:24
$ man find -print0

man にイタズラできるズラ

268 :名無しさん@お腹いっぱい。:2006/02/13(月) 06:13:36
zsh が流行りだけど漏れは bash も軽くて好きだ。補完は…

shopt -s hostcomplete
complete -d cd pushd rmdir
complete -c type which man

これくらいしかやってない('A')

しかしデフォルトでドットファイルが補完対象になるのはちょっとウザいな。
これを止めさせる方法誰か知らないかい?


269 :名無しさん@お腹いっぱい。:2006/02/13(月) 06:21:37
ぐわ、自己解決だスマソ
~/.inputrc に

set match-hidden-files off

を加えればいいようだ。


270 :名無しさん@お腹いっぱい。:2006/02/13(月) 11:38:34
Tab補完候補をカラー表示したくてzsh使ってるが
ホントにbashの方が軽いんだろうか?


271 :名無しさん@お腹いっぱい。:2006/03/25(土) 01:58:40
zshスレで出てきたやつをパクッて改造しただけなんだが

function cd {
if builtin pushd ${1:-$HOME} > /dev/null ; then
    if [ $(/bin/ls  $argv |wc -l) -le 50 ] ; then
>---/bin/ls -F
    else    
>---echo "many files exists"
    fi
fi
}

function pd {
builtin pushd +1 > /dev/null
pwd
/bin/ls -F
}

function nd {
builtin pushd -0 > /dev/null
pwd
/bin/ls -F
}



272 :名無しさん@お腹いっぱい。:2006/03/25(土) 15:16:52
ずんwikiにいろいろ書いといた。
変だったら直しておいて。

273 :名無しさん@お腹いっぱい。:2006/04/05(水) 14:53:52
bashって、zshみたいに、
**/Imakefileって、`find . -name Imakefile`に相当すること出来ないの?

274 :名無しさん@お腹いっぱい。:2006/04/21(金) 13:46:32
>>263
ps -C プログラム名 -o pid=

275 :名無しさん@お腹いっぱい。:2006/08/03(木) 23:08:47
cd の補完候補に$CDPATHを含めたかったので
bash_completionから↓この辺だけ.bashrcにコピペしたのですが
complete_cdpath() { ... }
complete -F complete_cdpath cd
_cd() {... }
if shopt -q cdable_vars; then
    complete -v -F _cd $nospace $filenames cd
else
    complete -F _cd $nospace $filenames cd
fi
こんなエラーが出てしまいます。
bash: ./.bashrc: line 171: syntax error in conditional expression: unexpected token `('
bash: ./.bashrc: line 171: syntax error near `?(\'
bash: ./.bashrc: line 171: `    if [[ "$cur" == ?(\\)\$* ]]; then'
. bash_completion するとエラーはでないのですが、
どう直せばいいんでしょうか?

58 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)