おまいらが使ってるShellを晒せや(#゚Д゚)ゴルァ!!
そして便利なShell Scriptがあれば晒して( ゚Д゚)ホスィ…
GUI Shellも使ってる香具師はそいつも晒せ(゚∀゚)アヒャヒャ
【Shell】どのシェル使ってる?【Script】
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
03/10/28 17:45ID:DZdBw1H1340login:Penguin
2016/03/31(木) 23:22:38.68ID:WZjiZRHi eshell
341login:Penguin
2016/04/11(月) 16:23:25.70ID:99C720fr 変数##*/ とはどういう意味でしょうか?
2016/04/11(月) 18:04:02.37ID:+7cEZsLh
>>341
俺が個人的に使ってるメモ
例1はvarに /foo/bar/baz が入っている場合
例2はvarに foo/bar/baz が入っている場合
${変数名#パターン} ・・・ 先頭パターンマッチ部分(最短)を削除
例1 ${var#*/} => foo/bar/baz
例2 ${var#*/} => bar/baz
${変数名##パターン} ・・・ 先頭パターンマッチ部分(最長)を削除
例1 ${var##*/} => baz (basename相当)
例2 ${var##*/} => baz
${変数名%パターン} ・・・ 末尾パターンマッチ部分(最短)を削除
例1 ${var%/*} => /foo/bar (dirname)
例2 ${var%/*} => foo/bar
${変数名%%パターン} ・・・ 末尾パターンマッチ部分(最長)を削除
例1 ${var%%/*} =>
例2 ${var%%/*} => foo
俺が個人的に使ってるメモ
例1はvarに /foo/bar/baz が入っている場合
例2はvarに foo/bar/baz が入っている場合
${変数名#パターン} ・・・ 先頭パターンマッチ部分(最短)を削除
例1 ${var#*/} => foo/bar/baz
例2 ${var#*/} => bar/baz
${変数名##パターン} ・・・ 先頭パターンマッチ部分(最長)を削除
例1 ${var##*/} => baz (basename相当)
例2 ${var##*/} => baz
${変数名%パターン} ・・・ 末尾パターンマッチ部分(最短)を削除
例1 ${var%/*} => /foo/bar (dirname)
例2 ${var%/*} => foo/bar
${変数名%%パターン} ・・・ 末尾パターンマッチ部分(最長)を削除
例1 ${var%%/*} =>
例2 ${var%%/*} => foo
343login:Penguin
2016/04/11(月) 18:16:59.15ID:99C720fr2016/10/04(火) 14:38:41.57ID:0nDXV+TT
fish 使うことに決めますた。(*´ェ`*)
2016/10/04(火) 20:38:48.28ID:0nDXV+TT
fish is a smart and user-friendly command line shell.
※. ______
//ー|)◎))3333Ξ<The law of orthogonality ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of responsiveness ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<Configurability is the root of all evil ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of user focus ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of discoverability ≡≡≡
./  ̄ ̄ ̄ ̄ ̄ ̄
http://fishshell.com/docs/current/design.html
※. ______
//ー|)◎))3333Ξ<The law of orthogonality ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of responsiveness ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<Configurability is the root of all evil ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of user focus ≡≡≡
// _二二二二二 ̄
//ー|)◎))3333Ξ<The law of discoverability ≡≡≡
./  ̄ ̄ ̄ ̄ ̄ ̄
http://fishshell.com/docs/current/design.html
346login:Penguin
2017/01/23(月) 13:50:26.90ID:qmKdCQ4w Bash(バッシュ), Tcsh(ティッシュ), Zsh(ゼッシュ)
読み方合ってますか?
読み方合ってますか?
2017/01/23(月) 18:10:34.24ID:nm/lNfeq
348login:Penguin
2017/06/03(土) 10:12:10.07ID:CTKi8+5I ネガキャンと受け取られても仕方無い主張なんだが,
csh って C に似た解釈をする Shell なんだよな。便利っていう人間がいるけど,
そもそも C がインタプリンタ的な動作をするのに向いてない以上,ALGOL 的な挙動の sh の方が Shell として本質的だと思うのだがどうだろう。
csh って C に似た解釈をする Shell なんだよな。便利っていう人間がいるけど,
そもそも C がインタプリンタ的な動作をするのに向いてない以上,ALGOL 的な挙動の sh の方が Shell として本質的だと思うのだがどうだろう。
2017/06/03(土) 23:59:11.30ID:qaLU01X5
ログインシェルとしてcshを使うのは好みだから止めないが
スクリプトはshで作るのが当たり前だと思うのだが、
そういう判断が出来ない人も多いんだよね。
スクリプトはshで作るのが当たり前だと思うのだが、
そういう判断が出来ない人も多いんだよね。
2017/06/04(日) 19:35:02.42ID:Si6q7fiX
cshってそんなにCに似てるか?
2017/06/04(日) 21:23:15.38ID:fcdA0XiN
ccsh <http://ccsh.sourceforge.net/>はもっとCに近い
2017/06/05(月) 12:01:32.64ID:TyB4uMQj
2017/06/05(月) 12:33:07.89ID:w9CAiiZB
ここまでくるとtccと競合する
#!/usr/bin/tcc -run
#include <tcclib.h>
int main()
{
printf("hello,world!\n");
}
#!/usr/bin/tcc -run
#include <tcclib.h>
int main()
{
printf("hello,world!\n");
}
354login:Penguin
2017/06/21(水) 12:27:45.10ID:KskEFw+V TCC って開発停止してるみたいだな。ccsh はもっと前に最終安定板出して音沙汰ないし。
やっぱ shell も OS とかと一緒で一極集中な感じなのかね。今だったら b(d)ash/zsh/fish くらいか。
やっぱ shell も OS とかと一緒で一極集中な感じなのかね。今だったら b(d)ash/zsh/fish くらいか。
2017/06/22(木) 12:04:22.06ID:25+3d/eJ
kshもオリジナルの作者がメンテしてると聞いたことが有る
356login:Penguin
2017/06/22(木) 17:48:09.47ID:M6sGnbPT zsh って ksh 系だったけ。
2017/06/23(金) 11:34:02.78ID:q4WKdAKZ
358login:Penguin
2017/06/26(月) 01:50:41.64ID:k2/BZBo/ >>355
そうなのかと思って ksh の配布元に行こうとしたらブラウザが落ちた。
w3m でさえ読み込まないww
ttp://www2.research.att.com/sw/download/notes.html
そうなのかと思って ksh の配布元に行こうとしたらブラウザが落ちた。
w3m でさえ読み込まないww
ttp://www2.research.att.com/sw/download/notes.html
2017/06/26(月) 08:41:38.40ID:M+n4Umzb
shが最低限必要知識
Bashマスターなら申し分ない
Bashマスターなら申し分ない
360login:Penguin
2017/06/28(水) 17:22:03.88ID:cw2bOnvO インタプリンタは fish。
Shell script 書くときはなるべく sh、条件文でどうしても実現できないことがあるときは仕方無く bash。
Shell script 書くときはなるべく sh、条件文でどうしても実現できないことがあるときは仕方無く bash。
2017/06/28(水) 21:27:44.50ID:eMfd45Lz
条件文でbashを使おうと思ったことはないな。
複雑なデータ構造を扱う時に
配列やハッシュを使わないと(不可能でなくても)
やってられないと思った時にbashを使う
複雑なデータ構造を扱う時に
配列やハッシュを使わないと(不可能でなくても)
やってられないと思った時にbashを使う
2017/06/28(水) 22:00:27.95ID:e29kg8PJ
/bin/shは絶対にdashにしてほしい
mkshにした場合、なんだかのビルドが通らなかった気が
mkshにした場合、なんだかのビルドが通らなかった気が
2017/06/28(水) 22:11:13.44ID:cw2bOnvO
>>361
無知を晒してしまった……orz
捨て恥ついでに聞くが
if [[ "$VAR" =~ (hoge|^huga|.*piyo) ]]; then
処理
fi
みたいな正規表現を含んだ条件文って /bin/sh でどう実現してる?
perl 使えって言われたらそれまでなんだが。
無知を晒してしまった……orz
捨て恥ついでに聞くが
if [[ "$VAR" =~ (hoge|^huga|.*piyo) ]]; then
処理
fi
みたいな正規表現を含んだ条件文って /bin/sh でどう実現してる?
perl 使えって言われたらそれまでなんだが。
2017/06/28(水) 22:12:50.28ID:eMfd45Lz
特に必要でない限りsh(dash)で動くように書いてるけど、
bashがどこにでもある時代に、無駄だなーって気もしてる。
だからshで作られたbashインタプリタとか、
bashをshに変換してくれるコンバーターとか無いものだろうか?
(別にbashである必要はないけれど)
JavaScriptの世界では新しいJavaScriptの文法を
古いブラウザ向けに変換するトランスパイラや
複数のファイルを結合するビルドシステムってのがある。
それみたいに改良されたスクリプト言語で記述したコードを
shで動作するように変換してくれるビルドツールでないかな?
bashがどこにでもある時代に、無駄だなーって気もしてる。
だからshで作られたbashインタプリタとか、
bashをshに変換してくれるコンバーターとか無いものだろうか?
(別にbashである必要はないけれど)
JavaScriptの世界では新しいJavaScriptの文法を
古いブラウザ向けに変換するトランスパイラや
複数のファイルを結合するビルドシステムってのがある。
それみたいに改良されたスクリプト言語で記述したコードを
shで動作するように変換してくれるビルドツールでないかな?
2017/06/28(水) 22:20:24.36ID:eMfd45Lz
>>363
> 無知を晒してしまった……orz
別に考え方の違いで無知とは思わんが
> みたいな正規表現を含んだ条件文って /bin/sh でどう実現してる?
そもそも正規表現使うまでのことをしないってのがあるが
前方一致、後方一致、中間一致程度なら、case文を使う。
そのifであれば、これでいけるはず
case $VAR in
hoge | huga* | *piyo) echo ok
esac
どうしても正規表現が必要なら、
grepとかsedとかawkとか内部で呼び出す
> 無知を晒してしまった……orz
別に考え方の違いで無知とは思わんが
> みたいな正規表現を含んだ条件文って /bin/sh でどう実現してる?
そもそも正規表現使うまでのことをしないってのがあるが
前方一致、後方一致、中間一致程度なら、case文を使う。
そのifであれば、これでいけるはず
case $VAR in
hoge | huga* | *piyo) echo ok
esac
どうしても正規表現が必要なら、
grepとかsedとかawkとか内部で呼び出す
2017/06/28(水) 22:40:16.07ID:cw2bOnvO
>>365 いけた。ありがとうございます。
可読性を考えると確かに sed 使った方が良いかもしれないですね。(最初と言ってること違うけど……)
可読性を考えると確かに sed 使った方が良いかもしれないですね。(最初と言ってること違うけど……)
2017/06/28(水) 22:56:01.53ID:eMfd45Lz
368login:Penguin
2017/06/28(水) 23:47:05.36ID:JGK5oyyj expr $var : '.*hoge.*' \| $var : huga \| $var : '.*piyo' >/dev/null \
&& echo echo 間違ってたらごめん。
&& echo echo 間違ってたらごめん。
369login:Penguin
2017/06/29(木) 00:09:03.51ID:yEAGtShg それかテキストファイルに、
a.piyo
aa.piyo
ab.piyo
aaa.piyo
aab.piyo
aba.piyo
みたいに一通り作っておいてgrepで探すとか。
a.piyo
aa.piyo
ab.piyo
aaa.piyo
aab.piyo
aba.piyo
みたいに一通り作っておいてgrepで探すとか。
370login:Penguin
2017/06/29(木) 00:10:01.60ID:yEAGtShg 思いついたプレーの中で、いつも一番難しいものを選択することにしている。
by ロベルト・バッジヨ
by ロベルト・バッジヨ
2017/06/29(木) 01:50:13.18ID:c1g0c9KP
>>369
草
草
2017/06/29(木) 02:01:12.18ID:c1g0c9KP
>>369
ごめん条件反射で書き込んだら めちゃめちゃ馬鹿にした言い方だった。
笑ったよということです,すいません。
あと,正規表現使ってやりたいことが,
「$TERM の値が xterm/rxvt/st 系列だったら fish を起動する」
っていう内容だから,あんまりテキストファイルは使いたくない。
ごめん条件反射で書き込んだら めちゃめちゃ馬鹿にした言い方だった。
笑ったよということです,すいません。
あと,正規表現使ってやりたいことが,
「$TERM の値が xterm/rxvt/st 系列だったら fish を起動する」
っていう内容だから,あんまりテキストファイルは使いたくない。
373login:Penguin
2017/06/29(木) 02:15:17.60ID:yEAGtShg Cで書いたらどうだ。
374login:Penguin
2017/06/29(木) 06:55:19.76ID:yEAGtShg # grepの-Eを使えば似たような事は出来るけど、
# 逆に$TERMで探したほうが楽な気がする。
<<EOF |grep -q $TERM && echo fith
xterm
rxvt
st
EOF
# makefileで書くと以下のような。
fish_term = xterm rxvt st
SHELL = $(if $(filter $(TERM),$(fish_term)),/bin/fish,/bin/sh)
# 逆に$TERMで探したほうが楽な気がする。
<<EOF |grep -q $TERM && echo fith
xterm
rxvt
st
EOF
# makefileで書くと以下のような。
fish_term = xterm rxvt st
SHELL = $(if $(filter $(TERM),$(fish_term)),/bin/fish,/bin/sh)
2017/06/29(木) 10:13:17.50ID:enVJAN/l
fishでtail -fからgrep --line-bufferedにパイプで繋ぐときに
単純にパイプで繋ぐとbufferedになってしまうんだけど
unbufferedにするにはどうしたらいいのかなぁ?
単純にパイプで繋ぐとbufferedになってしまうんだけど
unbufferedにするにはどうしたらいいのかなぁ?
2017/06/29(木) 12:47:12.83ID:c1g0c9KP
正規表現がどうのと言っていた者ですが端末側のソースを書き換えました。
色々提案して貰ったのにすいません。
色々提案して貰ったのにすいません。
2017/06/29(木) 23:00:35.67ID:tzPByQ9Q
>>374
<<EOF |
ってなんだその書き方?って思ったらzsh用か?
sh(dash)やbashじゃ動かないよね?
sh互換にするならこうかな?
cat <<EOF |grep -q $TERM && echo fith
xterm
rxvt
st
EOF
<<EOF |
ってなんだその書き方?って思ったらzsh用か?
sh(dash)やbashじゃ動かないよね?
sh互換にするならこうかな?
cat <<EOF |grep -q $TERM && echo fith
xterm
rxvt
st
EOF
2017/06/30(金) 00:28:16.84ID:sFKxRYwA
すっげえ前のブログなんだがこれ読んでどう思った?
俺はやっぱ #!/bin/sh - でいいじゃんって感じがしたんだが。
単に慣れの問題だと言わずにちょっと意見して欲しい。
http://hkoba.hatenablog.com/entry/2016/01/31/144919
俺はやっぱ #!/bin/sh - でいいじゃんって感じがしたんだが。
単に慣れの問題だと言わずにちょっと意見して欲しい。
http://hkoba.hatenablog.com/entry/2016/01/31/144919
2017/06/30(金) 01:53:23.35ID:S6e32skL
>>378
あまりろくに読んでないがw
シェルスクリプトを使う理由は、
通常シェルでやっている手作業を
そのままスクリプトにできるからだよ。
手作業の自動化がシェルスクリプトのメリットなわけで
手作業ではやらないような書き方が盛りだくさんであれば
そんなのをわざわざシェルスクリプトとして書く必要はないよ。
あまりろくに読んでないがw
シェルスクリプトを使う理由は、
通常シェルでやっている手作業を
そのままスクリプトにできるからだよ。
手作業の自動化がシェルスクリプトのメリットなわけで
手作業ではやらないような書き方が盛りだくさんであれば
そんなのをわざわざシェルスクリプトとして書く必要はないよ。
2017/06/30(金) 02:51:56.53ID:s9sy2MO7
同意
対話シェルにBシェル系を使いつつスクリプト用にはcshを使うなんてのは
ありえないのよね
だったらもっと強力なperl|ruby|python覚えたほうが早いってやつ
Bシェル系をスクリプティングに使い続けながら、それと互換性の乏しい
fishへ移行するのをためらってるのも同じ理由で
対話シェルにBシェル系を使いつつスクリプト用にはcshを使うなんてのは
ありえないのよね
だったらもっと強力なperl|ruby|python覚えたほうが早いってやつ
Bシェル系をスクリプティングに使い続けながら、それと互換性の乏しい
fishへ移行するのをためらってるのも同じ理由で
381378
2017/06/30(金) 17:57:05.13ID:sFKxRYwA >>379-380
ありがとう。参考になった。
自分はインタプリンタは fish,Shell script は (da)sh だが,あんまり混乱しないかな。
だが && を ;and とやるのは最初慣れなかった。
# ↑といっても && とやると
# fish: Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
# ls && cd
# ^
って言って呉れるから助かった。
ありがとう。参考になった。
自分はインタプリンタは fish,Shell script は (da)sh だが,あんまり混乱しないかな。
だが && を ;and とやるのは最初慣れなかった。
# ↑といっても && とやると
# fish: Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
# ls && cd
# ^
って言って呉れるから助かった。
382login:Penguin
2017/06/30(金) 18:39:48.28ID:OYsM1Fla >>353
まじかtccってそんな使い方出来たのか。今凄い嬉しいわ。
まじかtccってそんな使い方出来たのか。今凄い嬉しいわ。
383login:Penguin
2017/06/30(金) 18:57:17.24ID:OYsM1Fla これすげぇ。これすげぇよ。利用しまくるわ。
2017/06/30(金) 20:49:27.35ID:sFKxRYwA
TCC はかなり昔に開発停止してるからやめといた方が……。
385login:Penguin
2017/07/01(土) 06:59:47.09ID:Ra5NRw8c 君はこれからの人だから。
オレはもう刻一刻と老いていく流れを止められねえ
新しい言語を着こなすことも…
他のOSに思いを馳せることも…
何もできねえ……
オレからcをzshを……linuxをとったらもう何も残らねえ…!!
もうオレには端末しか見えねえー
オレはもう刻一刻と老いていく流れを止められねえ
新しい言語を着こなすことも…
他のOSに思いを馳せることも…
何もできねえ……
オレからcをzshを……linuxをとったらもう何も残らねえ…!!
もうオレには端末しか見えねえー
2017/07/01(土) 23:17:52.13ID:Gj6Eudou
どういう意味ですか
387login:Penguin
2017/07/02(日) 03:21:29.56ID:U6RrFykZ ごめん。デバッグしてて気付くと思考回路ショート寸前で頭おかしくなってる時がある。
もうすぐだ。すぐそこにせまってる。
これか。あーこれか。ここ、こうすればいいのか。よしよし。
うごくはずだ。これこうしたらもう動くに決まってる。
make
ねぇ、なんでーーーー!!!!!!!!!ねぇなんでーー!!!!!!!!!
なっ!んっ!でっ!なっ!の!!!やぁやぁやぁやぁ!!!
もうすぐだ。すぐそこにせまってる。
これか。あーこれか。ここ、こうすればいいのか。よしよし。
うごくはずだ。これこうしたらもう動くに決まってる。
make
ねぇ、なんでーーーー!!!!!!!!!ねぇなんでーー!!!!!!!!!
なっ!んっ!でっ!なっ!の!!!やぁやぁやぁやぁ!!!
2017/07/02(日) 03:24:28.33ID:OB80nxlH
YHA-YHA-YHA
なぐりにいこうかー!
なぐりにいこうかー!
2017/07/04(火) 20:29:35.31ID:7SO5v2e3
ここの本職やべえな。
2017/07/04(火) 21:43:13.63ID:Sfh2xeg2
あるある > デバッグ中は気が立ってる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アルバイト女性(30)と小学生女児(10) 練炭が置かれた車内で発見される ★2 [お断り★]
- 【W杯】ベルギー、イランとも2試合連続のドロー! ベルギーが後半に退場者もイランは攻め切れず/ベルギー 0-0 イラン [征夷大将軍★]
- 【芸能】松山千春、本田圭佑の解説に「なんで『さん』付けで呼ぶんだ?」「後輩なんだからさ」「つけない方がわかりやすいんじゃ…」 [冬月記者★]
- 【速報】星野真里(44) 24時間テレビのマラソンランナーに決定! ★2 [Ailuropoda melanoleuca★]
- 【サッカーW杯】4-0 日本代表・森保ジャパン、チュニジアに歴史的4発大勝 アジア勢の1次L連敗を「6」で止めた★6 [ゴアマガラ★]
- 40歳男性・生活保護受給者 “グリ下のくすり屋さん”1つの医療機関から2万錠の薬を大量入手、「薬をめっちゃ売っていた」 [お断り★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★139【メキシコ/カナダ/アメリカ】
- 2026/06/21(日) 21:18:50.88 ID:F2HvoAZ4<> <a href="../test/read.cgi/livebase/1782042743/353" rel="noopener noreferrer" target="_blank">>>353</a> <br> 交流戦後半から勝った印象ないもんw <>
- こいせん祝勝会 全レス転載禁止
- わしせん3
- ハム専 気合い入れなくて良いよ、もう
- かもめせん祝勝会
- 日本人、資源が回復してきたので、クロマグロ大型魚の漁獲枠、来年以降「25%拡大」提案😲 [521921834]
- 【高市悲報】まこ氏、大誤解される [419865925]
- GACKTさん、日本人に警告。「東南アジアは物価が安いとか下に見てる人たち、現地に来たらえらい目に遭うよ」 [643675351]
- 【⚽】口元隠して話しかけただけで一発退場【ビニシウスルール】
- 子どもの頃の話。
- 【悲報】キオクシアで資産170億になった億万長者さん、34000円のnoteを売って小銭を稼いでしまうwwwwwwwwwwwwwwwwwwww [802034645]