シェルスクリプト総合 その27
レス数が1000を超えています。これ以上書き込みはできません。
733です。すいません。もうひとつ訊きたいことがあるのですが
script(1)実行中はCOLUMNS=80,LINES=25に固定したいです。
しかしそのmyshに
export COLUMNS=80
などと記述しても反映されません。
~/.profileなどでは特にCOLUMNSの値を設定している訳ではないです。
これどうすればいいですかね stty cols 80 rows 25
なんかLINESもってとこから、ターミナルのウィンドウサイズなんぞもってぽいけど、それは個々のターミナルアプリ次第&一方通行っぽい(COLUMNSの値を設定している訳ではないのはそゆこと)けど シェルスクリプトってeval使えばメタプログラミングっぽいことできるよね。
例えば引数をfor文で増加さしてeval arg$i=\$$iみたいな。 >>742
evalはインタープリタそのものだからね evalは一番最初に現れたプリミティブなメタプログラミング機能だからまあ当然だな。
ちな最初にeval を発明した言語はLisp な。 evalは強力すぎて危険だからどの言語でも濫用はevil扱いだと思う。
REPLみたいにevalがぴったりした応用もあるから禁止はできんし、
シェルスクリプトは比較的ミニマムな言語だからevalしか解がないケースも多いけど。 「ミニマルな言語」って他には例えばなに?
それLLとはまた違うの?
いや煽ってるんではなくて単純に訊ねたい。 コマンド置換の入れ子の限界を試そうと思って
$ i=1; while true; do echo $i; eval $( (yes '$(echo' | head -n $i | tr -d '\n'); (yes ')' | head -n $i | tr -d '\n') ); : $((i++)); done
↑こんなコードを実行してみた。
100あたりから面白いくらいに遅くなっていく
しかし500くらいまで試したけど表示は続き、限界を探る目的は達成できなかった。 eval関連なんですがaliasの出力結果をevalする方法を教えてください。
具体的にはroot権限でlsがしたいのですが、その時通常のlsと同じオプションを付けて実行したいのです。
ですので(通常の状態での)alias lsの結果を変数かなにかに格納してそれを実行しようと思ったのですが良い方法が思い付きません。
そのコマンド自体もaliasにしたい(具体的にはls@rootコマンドとしてalias ls@root=の形で定義したい)です。
どうかよろしくお願いします。 すいません。一番上の行は無視してください。
evalでできるかなと考えてたプロセスが漏れてしまっただけです。
多分このアプローチは間違っているので無視してください。 >>750
偽物臭強いけどなw
ただ身長が小さいだけじゃないかっつー
本物双子のやつは結構好き >>751
aliasでなくてsudo使って関数定義するのがいいと思うけどだめなの? >>748
データ型が少ないって意味でTclとかかな。
でもTclには文字列型の他に連想配列があるのよね。
POSIX shellの範囲内だと引数配列を除けばホントに文字列しかないので。 こんにちは
ド素人です。
VPSの立ち上げ時にスタートアップシェルスクリプトを使って効率化したいです。
とあるwgetを叩くと、user名とパスワード、パスワードの再入力を求められるのですが、
このuser名、パスワードをシェルスクリプトで入力させるにはどうしたらよいでしょうか。 wgetでgithub上にある既存のシェルスクリプトを叩くと
ユーザー名とパスワードを聞かれるのですが、
その入力を自動化したいという意味です。
github上のシェルスクリプトは変更できません・・・ wgetでシェルスクリプト叩くてどういう意味?
出力をシェルに流し込むって事? なんかパスワード 自動入力 あたりでggったらすぐ出てきそうやな >>761
相手側の要求に従ったuser名パスワードの提供方法をwgetでするとよいでしょう
どのVPS?どういう相手側のサービス?その使ったというはGitHubのどれ?
https://gist.github.com/kevinold/216077/4d725773b46a2ac32c0f5a689339d3da004d7f5d
これでいいのか?適当にぐぐったらVPSだしwget使ってるしw
>>762
まあ、なんかセットアップでコマンド叩いたりするのだろう。そういえばwgetで認証できなかったら再入力なんて求められないよな...??あったかな?? wgetは--userと--passwordでユーザー名とパスワードを指定できるはずだけど httpのBASIC認証やftpのならそれで問題はないよね。普通にBASIC認証でそのオプションを教えてっていうことだけかな wgetが書かれたシェルスクリプトを呼び出すシェルスクリプトを書きたいように見えるが…
まあ質問が日本語的に不自由すぎるね wgetがBASIC認証を要求してくるんですが、
パスワードをシェルスクリプトに書きたくないです。
別ファイルに生パスワードを書くのも嫌です。
かといって毎回入力するのは面倒です。
ssh-agent利用して最初に一回いれて覚えさせるだけで
あとはパスワードなしにできたりしないですかね? ssh-agent/ssh-keychainはどうなんだろ、無理じゃねと思うが、keyring(Linux/BSD)/Keychain Access(macOS)を使えばふつーにできるだろうな 最初の質問と内容か変わってるし、パスワード書きたくないらしいので、役にたたないだろうけど、俺ならexpectでスクリプト書く 最初の質問者と別人じゃね?レスの書き方から同一人物にも見えるけどw まあなんか知らんがもっとドキュメントに当たったらって気がする jqについて教えてください。
https://ideone.com/SZlhR4
やり方が分からないので、以下のようにとりあえすyenを指定したら並び順が思ったようになりませんでした。
$ cat kudamono.json | jq -r '.genre_name, .list[].name, .list[].hinshu_list[].yen'
くだもの
りんご
みかん
いちご
180
500
200
50
63
300
null
null
null
続く 以下のように標準出力に出す方法を教えてください。
くだもの
りんご
ふじ
180
サンふじ
500
つがる
200
みかん
きんかん
50
いよかん
63
せとみ
300
いちご
あまおう
null
ひのしずく
null
とちおとめ
null >>772
別の人ですよー。やりたいことを思い出したので、書いてみたの♪ >>774-775
. | .genre_name, (.list[] | .name, (.hinshu_list[] | .hinshu, .yen))
https://stedolan.github.io/jq/tutorial/ https://stedolan.github.io/jq/manual/ 見つつ https://jqplay.org で試した
jq初めての俺でもすぐできたじゃねーか
まじめにやれ >>777
どうもありがとうございます!
カッコを使うといいんですね dashで動くシェルスクリプトってPOSIX準拠のシェルスクリプトだと思って問題ない? dashはPOSIX準拠である
だからPOSIX準拠のコードはdashで期待どおり動く
だけどdash専用のコードはPOSIX準拠ではない kshのposixモードがかな。POSIX仕様の元となった自負があるだろうからposixモードもちゃんとしてそう あの,すごく初歩的なことだと思うのですが,
Excelなどのように隣のセルの値を参照して現在のセルの値を計算するという手法を
シェルスクリプトで行うにはどうすればいいでしょうか。
具体的には,参照した値をaとして,(1-sin^2(a))/2^aを計算したいです。
Excelだと,A列に値を入力していき,B1セルに「(1-(SIN(A1))^2)/2^A1」と入力した後ドラッグすればいいのですが……。 a=値
echo "(1-s($a)^2)/2^$a" | bc -l
とか? cat <<. | xargs -I @ echo (1-s(@)^2)/2^@ | bc -l
3
44
-6
.
こんなのでどう? cat と echo と print の違いが分からない
あと、print と printfの違いも
教えて cat と echo,printf は全然違う。主に出力するソースが(ゆえにパイプで入力受ける受けないとなり?)
echo と printf は、書式が指定できるかというか、コマンド由来とC由来かな
printって?awk内のならprintはechoのようなもんかな(Ubuntuには print がコマンドであるけど Mailcap とかナニそれな普通じゃないのだな) ググったらechoは改行されてしまうけどprintfは自分で\nしないと改行されないってあった それらの違いが分からないのは使ってないからだろ
使ってないなら知る必要もないし知ろうとも思わない
自作自演かな? コマンド由来とC由来ゆうてるやんw
printf(1) は printf(3) と同じと思えば不思議ではないだろう。echo も -n で改行しないようにもできるけどイレギュラー、コマンド由来だからな
>>791
まあ、なんの目的で聞いてるのかさっぱりわからんくはあるな。なんの自作自演なのかさっぱりだけど >>792
宿題かああ。程度が低いな。高校でとかか? あと、printfのfって何?
f付けたのはcが最初?
fって? >>796,797
コマンドで何か出力するのに「改行しない」方が少ないだろうという。echo "Hello"が改行しなかったらプロンプトが続いてとか。改行した方がその機会が多いので省けるだろう
f = フォーマット。printfはCが起源じゃないのかなあ。の前の何かの言語ではprintがあっただろうな(どういうのか知らんけど)
聞く姿勢が小学生低学年並みだな。そろそろ>>798の言うとおり manとinfoどっち使ってる?
infoは文中から別のページに飛べるから便利そうだけどウェブブラウザのように戻る進むボタンがあるわけでも無いし全部文字だけだから現在位置が分からなくなるからmanがいいと思うんだけどどう? なんか最近ほんとこういうアンケートみたいなの増えたな
どっかから流れてきたか? 「乾燥機貸して」ってアンジャッシュのネタにあったなそういや ディレクトリの中の拡張子がm2tsのファイル全てをtsselectというコマンドに投げてその標準出力をひとつのファイルに追記で書き込みたいんですが、その際、ファイル名も一緒に書き込みたいです。
どうやってファイル名を取得するんでしょうか?
$ tsselect *.m2ts > ana.log 1行で書けなかったので、複数行に分けてfor分を使いました。 こんなん?
for i in *.m2ts; do echo $i >>ana.log; tsselect $i >>ana.log; done 近頃のどこか(このスレかも)で,
「fgrepはgrepより遅い」というような話を耳にしたんですが,ほんとうですか?
手元のgrepで試したところ,ほとんど有意な差はありませんでしたが……。 それぞれ独自バイナリだった昔の話な。
あとgrepよりegrepの方が速かったんで、
今でも手はegrepを優先して打っちゃうけどな。 いや独自バイナリだった頃もfgrepの方が速かったような。
grepだけ非決定性オートマトンで遅い的な。 ファイルの一括リネームで
$ find . -name "*X*" | while read F; do mv $F ${F/X/Y}; done
だとXXXがYXXになるんですけどYYYにするには繰り返さなきゃいけないんですかね? If pattern begins with /, all matches of pattern are replaced with string. 日本語で書いてくれないとわかりません
できれば修正したコマンドを書いてください ひな鳥に餌を上げるのはひな鳥がかわいいからだ
なんかこのひな鳥うざいって思ったら餌は与えない とりあえず「sh 変数展開」あたりでggってからここに来い
それで分からなきゃどこかの暇人が餌与えてくれるまでずっと待ってな すみません
ワードとかに出来る~$で始まるファイルを一括で消したいのですがどうすればいいですか。
find ./ -name "~$*" -exec rm -rf {} \;
これだと上手くいかないです。
find ./ -name "~\$*" -exec rm -rf {} \;
エスケープしてもダメです。
find ./ -name "~*" -exec rm -rf {} \;
これだと上手くいきますが$も指定するためにはどうすればいいですか。 >>833
上手くいかないです
$ find . -name ~'$'*
Unknown user: $*.
$ find . -name "~'$'*"
Illegal variable name.
$ find . -name ~"$"*
Illegal variable name.
$ find . -name '~"$"*'
何も出力されない 自己解決
bashにしたら\で普通にエスケープできました
find . -name "~\$*"
なんでcsh使ってたんだろ csh使ってたならプロンプト$にすんなよ紛らわしい cshだと%でしたねすみません
% find . -name "~\$*" ファイルフォルダ関係なく消したいからフォルダがないとわかっていても付けてる \; より + かな。forkの遅いCygwinでは特に。 最後以外の改行を削除する単純で可搬な方法を探しています。
私が現在使っている方法は
cat <<. | tr -d '\n' | printf '%s\n' "$(cat)"
a
bbb
cc
.
です。これは可搬性は抜群ですが、冗長すぎると感じています。
できれば一つのコマンド(sedとか?)で済ませたいです。よろしくお願いします。 >>841
sed ':l;N;s/\n//;bl'
とかかな。// を /,/ にすると、1行CSVに出来る。 >>845
ありがとうございます!
すごいですね……。:lってラベル付けでしたっけ。 >>841
cat <<. | { tr -d '\n'; echo; }
a
bbb
cc
. Mac付属のsedじゃうまく行かなかった、ってお呼びじゃないか
最近のBSD sedはどうかわからないけど >>848
え? そうなの?
OS Xを持ってないので知らんが Busyboxでも行けるくらいの可搬性はあるぜ?
全部POSIXで規定されてる命令だし。 macOSだけでなくBSDでだめっぽい。BSDでだめというか、GNU sedでなら動くか 主にパターンスペースに対して処理した直後にどうするってとこの違いかな。他ではBSDでもmacOSとOpenBSDでは行を処理しなかった場合どうするがちょっと動作が違ったり、いろいろ鬼門だなsedは
sed '$!{H;d;};${H;g;s/\n//g;}'
で、いちおう、sedもGNU sedものようだけど、ゴテっとはしてんな >>845も結局改行を削除しているだけ&最後の改行はsedの勝手に付けるだけなので、>>847の方がシンプルでこっちの方がって感じだな >>845のMacやBSD向け変種でけた
sed -e :l -e 'N;s/\n//;$p;bl' おおっ
ラベルを別にすれば/しなきゃなのか
$はそこに入れるのか、なるほど
GNU sedではそれだと...オプションで変えられるかな
くせが強いw 教訓。移植性を重視するならsedで変なことするな。普通の正規表現だけ使え 昔はもっと酷かったんだろうな #移植性
sedだけじゃなくてgrepとかも。 >>856
昔は一つしかなかったから移植性よかったよ。
GNUが台無しにした。 sed で可搬性を考えると、セミコロンで分ける方法はちょっとあやしいから、
愚直に -e で分けるしか無いのかも知れない、短く書けないけどw
それはさておき、sed の「無限ループに N を入れる」って、趣があると思うんだよね。
C で「ファイルを while の条件文で fgets() が EOF になるまで読み込む処理」に近いというか。 >>855
>普通の正規表現だけ使え
というより、一行単位サイクルで処理しろかな >>859
溜めに溜めて溜め込んでってイメージしかないなw
そのwhile〜fgets〜で言うなら、中にreallocでどんどこ的な
実際どうなんだろと65Mのファイルで「ちょっと」試したら、使用メモリは増えない(??)けど終わらんぞw bashのプロセス置換なんですけど、最初のプロセス置換が/dev/fd/63に固定(?)されているのはなにか理由があるんですかね。
bash-4.4$ eval echo $(yes '<(echo) ' | head -n 63)
とやったら/dev/fd/63からデクリメントされていって/dev/fd/5→/dev/fd/3→/dev/fd/64
という謎の変化を経てインクリメントされていくという……。
これ仕様ですかね。 仕様です
63は昔は大きい数字だったのですが
最近は小さくなってしまった 数千行のCSVの値を一個一個指定の条件に沿っているかチェックするにはシェルスクリプトでも出来ますかね?
参考書教えて頂けたら嬉しいです。
それともこういうのは他のスクリプトの方が適してたりしますか?
perlも使える環境ではあります。 >>864
そのチェックが他の行の参照を含まなくて、shellでできるかという質問にawkやsedも含まれているのなら、できる
というか、excelでやったりしないし、最近はpythonでやることが多い 指定の条件によるな。CSVの項目も数値や文字列だけだったらシェルスクリプトだけでもできるだろう ああ、文字列の中のフィールドセパレータ(,)をフィールドセパレータとして除外というのはしないか。awkも同じかな。やってできないこともないだろうけどめんどくさいな
perlはcsv処理するモジュールを入れてだっけ、pythonは最初から入っているよな それ以前にCSVのフォーマットによると思う
改行とかカンマとかダブルクォーテーションを含むとかをきちんとやりだすとシェルだけでもできるだろうけどやりたくない カンマ入っている場合には "" もしくは '' で囲わなければならないから、それはシェルスクリプトにとっても都合がいい、
IFS=',' fields=($raw)
で簡単にと思ったがそう甘くはなかった。最近流行りのevalでなんとかだとしても、$とかまた別の問題があるしなあ >>869
別にあれとは違うだろうにw 単にCSVだからって拒否反応示しすぎ 皆さんお答えありがとうございます。
出来るけど面倒だという感じですね。
PHP使いたいけど仕様上ダメみたいなんですよね。。。
後にメンテナンスが面倒くさそう >>867
残念ながらpythonは入ってなかったです。DBサーバーなんで >>873
perlで高機能な(?)Text::CSVを入れればだけど、それすらなら、
http://t2aki.doncha.net/?id=1403586022
なんぞの数行のをコピペってでもかな。後はperlスレだな >>869
いいえ、また "お前" が来てるんですよ >>872
上とかけあってperl/python/rubyのどれかを入れさせれもらった方がいいと思う。
あるいはjava VMがインストールされてるなら、そっち使ってもシェルよりは楽。 1990年代には確かにこういうプログラムもCで書いてたが、今では はやらんよ。
スクリプト言語とかJava VM系言語とかでCSVライブラリ呼ぶように書くのが普通。
もっと低レイヤの処理ならCも使うけど、業務システムにCを使うってのは、
開発効率が悪いせいで、ほぼ亡びた。 compgenによる補完候補の絞り込みですが
bashでは正常に動作するもののzshでは絞り込まれません。
なぜでしょう?
# bash 4.4.19 on Ubuntu 18.04
$ compgen -W "aaa bbb ccc" a
aaa
# zsh 5.5.1 on Ubuntu 18.04
% compgen -W "aaa bbb ccc" a
aaa
bbb
ccc
.zshrcでは
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
してます >>878
すでに入ってるLL使うならわかるが、JavaVM入れるくらいならCでいだろ。 >>880
>>876は「java VMがインストールされてるなら」って書いてあるじゃろ。
つまりCSV処理のためにjava VM入れるんじゃなくて既に入ってるならって話。
入ってないなら交渉してスクリプト言語入れる方を推奨だな。
エンタープライズ系は静的型検査が欲しいので相変わらずjava VMな言語が強いのよ。 シェルスクリプトでwebpackみたいに結合して1ファイルにしてくれるものとか
babelみたいにトランスパイルすることで言語を拡張するものって無いかな >>882
シェルアーカイブ形式とか?
file.sharという形で,ファイル後半に(圧縮した)バイナリーファイル,前半(というかヘッダ)に展開用シェルスクリプトとインストールスクリプトを書いておく)
最近のソフトウェアだとVMWare Horizon ClientsのLinux向けインストーラーがその形式だった。 >>883
別にバイナリファイルを動かそうって話じゃないよ
単にくっつけてくれればいいだけ >>885
だからぜんぜん違う
webpackみたいに1ファイルに結合するって話をしてる
結合しても結合する前と同じように動く
すこしはsharについて調べてきたら? shar知らない人のために説明しておくと、
これは単なる自己解凍形式の圧縮ファイル形式に過ぎない それよりwebpackとやらについて説明しておくべきだったろ
聞き方が悪い どう使いたいかとかわからんのにな
>>887って言ってるけど、得られるのは自分でそれを使ってダイレクトにも頑張ればできる範囲だし webpackはCのプリプロセッサのincludeみたいなやつだよ バンドルじゃないの。macOSのバンドルのようなのを単一ファイルでの
単にincludeだったらシェルスクリプトにcatでくっつければええやん。目的は単一のファイルにしたいだけなんだから
バンドルなんだからバンドルをハンドルするヤツが必要じゃないの。んなのはshar使って自分で作ればってとこじゃね webpackとかbabelとか覚えたてのキーワード並べてみたかったんでしょ
そんなのが必要になる状況がクソなんだがなw >>891
> >>887って言ってるけど、得られるのは自分でそれを使ってダイレクトにも頑張ればできる範囲だし
自分で頑張ればできるって話なら、ファイル結合なんだからcatでもできるよ?
自分で頑張ればいいだけ。結合されても大丈夫なようにコードを書く必要があるけどな
その頑張るのが面倒だからツール使うんだろう?
ちなみにsharなんていらない。だってこれ目的を満たすためのツールじゃないから
自分でcatで頑張る+圧縮もしたいなーって思った時にオプションで使えるかもしれないツール ちなみにsharの問題は展開しないと使えないって所
ルータのような書き込み回数に制限があるシステムでは致命的 あと展開のためのコマンドが入ってない可能性もあるしな
ファイル結合するだけなら、外部のコマンドにも依存しない シェルスクリプトは実行可能なままファイル結合する必要性があんまりないってこと
そんなのとかトランスパイルとかが必要になるJavaScriptを指して、クソだなって言われてるんじゃない? てゆうかそれ以前に、そんな長いプログラムをシェルスクリプトで書いちゃいかんやろ。
他の言語を使うべき。
JavaScriptくらい高級な言語ならアリだけど。 ディレクトリ A の中のファイルを全部
ディレクトリ B の中の同名のファイルと diff を撮りたいんですけどどうすればいいですか
xarg で1つの引き数を渡す方法しかわからないのでおねがいします システムのスクリプトにも参考になるものがたくさんあるよね。zgrepとかzdiffとか
linuxだけどlddがシェルスクリプトだったのには驚いた bashのHISTTIMEFORMATを設定した環境だと
sshログアウトしてもbgプロセス消えないみたいなんだが
なんでなん? 設定してなくてもsshログアウトしてもbgプロセス消えないけど、うちでは
他の設定じゃね うーむ
会社の環境だとその設定の有無で変わったんだけど
今vmでcentのminimal立てたら設定なしにbgプロセス生きてた
何か勘違いしてるのか https://serverfault.com/questions/117152/do-background-processes-get-a-sighup-when-logging-off
だって。ちょい昔からデフォで子プロセスにHUP送らなくなってるんだなあ。OSやディストリによってデフォが違うだろうけど
huponexitオンにして、HISTTIMEFORMATを設定してもbgプロセスは消えるねえ case文で,Bash特有の高速化オプションとかありませんかね。 >>910
高速化できるんならオプションじゃなく最初からそうしてると思うが、
さらに、高速化が必要なほど遅いcaee文とは? >>902
Aにあるファイル名だけ比較したいんです
Bのなかにはほかにもファイルがあったりするので
diff A/$f B/$f
とか場合によっては
diff A/$f B/*/$f みたいなことがしたかったのです…
ls なり find なりの出力ファイル名を変数に取り出すのってやっぱり難しいんですね
諦めます
レスありがとうございました お題としてはちょっと楽しめると思うけど、諦めちゃうのか find A -type fして、それぞれbasenameとって、find B -name filename -exec hogeってかんじかな。
B側で何度もfindするのを減らしたいけど、キャッシュされればそれほど負荷じゃないか。 diffの話ついでに
(GNU) diffでディレクトリごと比較したときに、一方のディレクトリにのみあるファイルを無視するオプションってある?
diff -r /dirA /dirB | grep -v 'にのみ存在'
とやればまあ大抵の場合解決するんだけども、たまたまあるファイルの変更箇所に「にのみ存在」っていう文があった時に
困るので、できればオプションで解決したい。 diffの出力って行頭の文字が重要なのに、
これを無視した日本語ロケール作者は反省するべき。 >>916
ああなるほど。
diffの出力結果では行頭は変化を表わすところだから
その行頭を除けばいいね。 >>900
> てゆうかそれ以前に、そんな長いプログラムをシェルスクリプトで書いちゃいかんやろ。
行数で使う言語を決めるなや
シェルスクリプトは、コマンドの連携処理を一番シンプルに書くことができる言語
シェルスクリプトが適している問題を、長いからという理由で他の言語を使うともっと長くなる
なぜ非効率な言語を使うのか? >>922
まさにシェルスクリプトがプログラム間連携のための言語だからだよ。
1000行以上にも及ぶ複雑なプログラム間連携処理を
シェルスクリプトで書く状況ってのは
モジュール分割に失敗してる可能性がきわめて高い。
100行くらいの単体でも十分に使えるシェルスクリプトが10個ならば問題ないが。
シェルスクリプトは現代的プログラミング言語の持つ数々の抽象化機能を
欠いていて大規模プログラミングに向かないことは常に意識するべき。 仕事でならな。個人的なのでもそういう学習習得意欲がないんだったら馬の耳に念仏かと >>926
> 1000行以上にも及ぶ複雑なプログラム間連携処理を
> シェルスクリプトで書く状況ってのは
> モジュール分割に失敗してる可能性がきわめて高い。
だからシェルスクリプトでモジュール分割するんでしょ? >>931
外部コマンドの呼び出しが多数存在する場合、
シェルスクリプトを使うのが向いてる >>933
外部コマンド呼び出しは敗北と同義よ!
漢なら全て内蔵コマンドで処理をせい! >>935
普通に . (source)を使用するだけだけど? >>934
内部コマンドだけで処理できるなら
普通の言語のほうが良いよ
外部コマンドの連携に強いシェルスクリプトは
外部コマンドを呼び出すために使うもの
逆に普通の言語だと外部コマンドの呼び出しは面倒なんだ。 >>936
そういうのもできてるなら話題になってないって言ってるんだけど
できてるって、言語的にできるできないじゃないよ
>>938
板違いってか本題から外れすぎだな >>939
だからモジュール分割は . で出来てるから話題になってないってことでしょ? この掲示板ってワッチョイないのでは…
というかidもなかった じゃあもうこの板捨てるか?
Linux板にでも移動すりゃいいでしょ >>946
OSの話じゃないから向こうでやってもいいかもね あっ、でも向こうだと動かすOSがLInux前提になってしまうのか バッチ、パワシェのスレがム板にあるから不自然じゃないよね 賛成だ
しかしシェルスクリプトがunixにいられなくなるってのもなんかすごいな まあUnixもそれだけ多くの人に知られてきたってことじゃない?
もちろんキチガイは不要だけども。 テンプレは同じでいいな
もし嫌ならそいつが新しいの考えろ とりあえず立てました。
テンプレを書き込もうとしたら長すぎと怒られたので、分割するついでにちょっと改変しました。
https://mevius.5ch.net/test/read.cgi/tech/1532397676/l50 >>962
実はワッチョイを提案したのは俺なんだけど
あんまり賛同者がいないようだし
勝手にやるのもどうかなと思ったんだわ。
今はID板でやって
それでも荒れるようであればワッチョイ付けるっていう方針でいいかなと思ってる >>963
俺はワッチョイも含めて賛成してたけど、まぁそれでいいか
ざっと厶板の他のスレみた感じワッチョイまで採用してるスレほとんどないみたいだし、あっちでもあまり使わない文化なのかもしれん、どうなんだろ どうせならIPアドレス表示まですればいいのに
攻撃してやんよ プログラム板ってここと違って保守しなきゃいけないよね
誰かどのくらいで落ちるか分かる人います? あぁ時間か
どうだったっけな、さすがに覚えてない
20レスすれば当面落ちないとだけしか 先日lispスレ立てたけど、4レスのまま全然落ちる気配ないよ。 >>963
その段階的なやり方で良いと思う
スレ立て乙!! UNIX板伝統のシェルスクスレもム板行きかあ
UNIX板に限らず、専門板って過疎ってるところ多いから、統廃合してほしいな シェルスクリプトはもはやUNIXだけのものじゃなくなったからなぁ。
クロスプラットフォームが当たり前になって、
OS別のマターというのもだいぶ限られてきたね。 UNIX板の中でシェルスクリプト総合スレが一番、というか唯一勢いがあるんだが、
これなくなると凄まじい限界集落になるな…
Vim/Emacs/TeXあたりもソフトウエア板あたりなんか行ったら、もう…(´;ω;`) WindowsではWSLでシェルスクリプトが動く
だけどWSL環境なんだよなぁ
Windows標準でbusyboxとか採用してくれればいいのに
バッチファイルの代わりとして使えるんだが バッチの意味不明なsyntaxと貧相なコマンド類は発狂しそうになるけど、パワシェではいかんの?
パワシェ使ったことないけど、さすがにまともに設計されてるんだろ PowerShellは、普段使いのシェルとしては使えない Powershellは高機能なんだろうけど、高機能すぎて、あれこれ調べているうちに疲れた
結果として、Powershellの機能を呼び出すバッチファイルが出来上がってしまった >>980
WindowsでもLinuxでも動くスクリプトの作成
busyboxがあればシェルと基本的なコマンドは手に入るから
あとは特定のアプリのWindowsバイナリ版を入れるだけで
WindowsでもLinuxでもMacでも使えるスクリプトが作れる
cygwinやmsysもあるけど、Windowsに標準搭載してほしい
最低限のことはできるようになる。
>>981
PowerShellはコマンド体型違うから >>984
cygwinのdllと起動batを持ち歩くといいよ
どこでもsh動く >>986
いつのまにか感染してました、で会社をクビになるんですね。 >>986
Windows標準でbusyboxとか採用してって話なのに
cygwinを持ち出されても、
そんなのが必要になるから、Windows標準で採用してって言ってるんだよ
で終わる >>988
SFU や WSL の流れからして、Busybox 相当の標準搭載も需要も無いと思いますよ。
必要ならば Sysinternals 等の TechNet フォーラムに参加して要望を出してみては。 >>989
需要がないのになんで次から次へと出てくるの? >>992
たぶん善意からだと思うが、すでに>>961
この板とはお別れ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 90日 15時間 15分 29秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。