シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その35
https://mevius.5ch.net/test/read.cgi/tech/1606221440/
関連スレ
・【Bash】Windows Subsystem for Linux【WSL】9
https://mao.5ch.net/test/read.cgi/linux/1607589861/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
探検
シェルスクリプト総合 その36
■ このスレッドは過去ログ倉庫に格納されています
2021/02/25(木) 09:20:14.64ID:ZyJLXTlk
715デフォルトの名無しさん
2021/06/14(月) 22:51:30.90ID:XErzM4Zs716デフォルトの名無しさん
2021/06/14(月) 22:53:20.37ID:XErzM4Zs717デフォルトの名無しさん
2021/06/14(月) 22:55:27.91ID:TBcjiJdx >>715
> そんな想定ができるヤツは、あんな質問をしないし、「イディオム」とは言うまい。
いやこんなにも論理的に破綻していてかつイディオムという語の意味を理解してない奴が同じタイミングで二人もいるって恐怖でしかないんだが
> そんな想定ができるヤツは、あんな質問をしないし、「イディオム」とは言うまい。
いやこんなにも論理的に破綻していてかつイディオムという語の意味を理解してない奴が同じタイミングで二人もいるって恐怖でしかないんだが
718デフォルトの名無しさん
2021/06/14(月) 22:58:00.42ID:XErzM4Zs 別に居ても不思議じゃないけどw
719デフォルトの名無しさん
2021/06/15(火) 03:36:25.29ID:fYgQamCV720デフォルトの名無しさん
2021/06/15(火) 04:54:46.12ID:UNOhr6// >>719
> ただ主張するのではなく、どのように破綻しているのかを述べよ。
では、
>>709
> そんな想定ができるヤツは、あんな質問をしないし、「イディオム」とは言うまい。
がどう破綻しているか述べる
質問者は「一般ユーザが展開したワイルドカード」と「root が展開したワイルドカード」が違うのを知っているからこそ「sudo でワイルドカードを使いたい」と思い至ったのであって、この時点でワイルドカードの展開はシェルが担うという前提を持っている
その上で「ワイルドカードの展開をroot のシェルに委ねられないか」というのが元の質問なわけだね
従って、
> そんな想定ができるヤツは、あんな質問をしない
というのは偽だ
なんせ事実として質問者は「そんな想定」を持った上で「あんな質問」をしているのだから
また、いくつかの説明や例文がこれまでに出ているように、質問者のイディオムという語の用法は全く間違っていないし広く使われているものと合致するので、
> 「イディオム」とは言うまい
というのも頓珍漢も甚だしい
(もちろん質問者のイディオムという語の使い方が間違っていることをあなたたちが客観的に示すということはあっても良い。できるものならご自由にどうぞ)
そもそも「こういう知識レベルの人間はこういう語を使わない」なる命題が常に真なわけないでしょう
コンピュータの知識と日用語の語彙に何らかの相関があったとして、それは「そういう傾向がある」というだけなのでね
以上のことから、>>709は事実から説明される事柄と尽く反対のことを言っていて、全体的に偽なので、論理的に破綻しているといえる
> ただ主張するのではなく、どのように破綻しているのかを述べよ。
では、
>>709
> そんな想定ができるヤツは、あんな質問をしないし、「イディオム」とは言うまい。
がどう破綻しているか述べる
質問者は「一般ユーザが展開したワイルドカード」と「root が展開したワイルドカード」が違うのを知っているからこそ「sudo でワイルドカードを使いたい」と思い至ったのであって、この時点でワイルドカードの展開はシェルが担うという前提を持っている
その上で「ワイルドカードの展開をroot のシェルに委ねられないか」というのが元の質問なわけだね
従って、
> そんな想定ができるヤツは、あんな質問をしない
というのは偽だ
なんせ事実として質問者は「そんな想定」を持った上で「あんな質問」をしているのだから
また、いくつかの説明や例文がこれまでに出ているように、質問者のイディオムという語の用法は全く間違っていないし広く使われているものと合致するので、
> 「イディオム」とは言うまい
というのも頓珍漢も甚だしい
(もちろん質問者のイディオムという語の使い方が間違っていることをあなたたちが客観的に示すということはあっても良い。できるものならご自由にどうぞ)
そもそも「こういう知識レベルの人間はこういう語を使わない」なる命題が常に真なわけないでしょう
コンピュータの知識と日用語の語彙に何らかの相関があったとして、それは「そういう傾向がある」というだけなのでね
以上のことから、>>709は事実から説明される事柄と尽く反対のことを言っていて、全体的に偽なので、論理的に破綻しているといえる
721デフォルトの名無しさん
2021/06/15(火) 11:08:32.71ID:ic6VniVo722デフォルトの名無しさん
2021/06/15(火) 11:50:21.12ID:vhbon9Jn >>699
そのための全ての展開に優先するaliasですよ
user/pwdを保存しておいて、su/sudo&好きにcdしてそこで*を展開
hogeはシェル関数にしておいて、末尾に元のユーザーへsu/pwd復元コード
そのための全ての展開に優先するaliasですよ
user/pwdを保存しておいて、su/sudo&好きにcdしてそこで*を展開
hogeはシェル関数にしておいて、末尾に元のユーザーへsu/pwd復元コード
723デフォルトの名無しさん
2021/06/15(火) 11:56:27.22ID:vhbon9Jn エイリアスはパースの第一段階なので、su root; cd some/dir; hoge *に渡る*はsu/cd後のものになります、言葉不足ごめん
ファイル名展開はパラメータ展開よりも後なので、他の展開で仕込んでもいいかも
ファイル名展開はパラメータ展開よりも後なので、他の展開で仕込んでもいいかも
724デフォルトの名無しさん
2021/06/15(火) 11:57:34.70ID:vhbon9Jn >>723はalias fuga=に突っ込むコマンドです
725デフォルトの名無しさん
2021/06/15(火) 12:03:49.18ID:fYgQamCV726デフォルトの名無しさん
2021/06/15(火) 12:32:19.46ID:Uk8DlJ/9 またID切り替えて恥晒し続けるのか
昨日は他スレでも同じようなやつがいたな
昨日は他スレでも同じようなやつがいたな
727デフォルトの名無しさん
2021/06/15(火) 14:22:06.77ID:fYgQamCV >>726
自分の敵は全部同一人物扱いか。w
自分の敵は全部同一人物扱いか。w
728デフォルトの名無しさん
2021/06/15(火) 14:48:09.92ID:D4jRQBdQ >>721
権限も引き継ぐから何もやってないのと同じ
権限も引き継ぐから何もやってないのと同じ
729デフォルトの名無しさん
2021/06/15(火) 15:23:52.83ID:uDm4jDy6 >>726
XXな人が使うイディオム
XXな人が使うイディオム
730デフォルトの名無しさん
2021/06/16(水) 08:06:02.87ID:drc75L4c 微妙に関係しそうだから恥をしのんで
()のサブシェルで手軽にサブシェルのID得る方法ってないかな?
パラメタ展開をエイリアスで遅延テクは、エイリアスが行頭に来る必要があるので、おもむろに書ける()の利点が無くなるかなと
()のサブシェルで手軽にサブシェルのID得る方法ってないかな?
パラメタ展開をエイリアスで遅延テクは、エイリアスが行頭に来る必要があるので、おもむろに書ける()の利点が無くなるかなと
731デフォルトの名無しさん
2021/06/16(水) 09:57:22.10ID:up1ZHWjO echo $$
ではダメなの?
ではダメなの?
732デフォルトの名無しさん
2021/06/16(水) 10:13:45.13ID:drc75L4c >>731
()の中の$$は親シェルのpidを返すのよ
それこそsh -cに(適当にエスケープした)文字列としてecho $$を渡せって話だけど、折角分かりやすい()構文があるのだから、その範囲内で何かワークアラウンドできないなと
()の中の$$は親シェルのpidを返すのよ
それこそsh -cに(適当にエスケープした)文字列としてecho $$を渡せって話だけど、折角分かりやすい()構文があるのだから、その範囲内で何かワークアラウンドできないなと
733デフォルトの名無しさん
2021/06/17(木) 17:40:01.55ID:uOhhE14V このようなファイルがあります。
先頭の単語+デリミタ(今回はカンマ)以降の文字を全て削除したい場合は
sedでどのように書けばいいでしょうか?
one,no need word, no need word
two,no need word, no need word
theree,no need word, no need word
four,no need word, no need word
先頭の単語+デリミタ(今回はカンマ)以降の文字を全て削除したい場合は
sedでどのように書けばいいでしょうか?
one,no need word, no need word
two,no need word, no need word
theree,no need word, no need word
four,no need word, no need word
734デフォルトの名無しさん
2021/06/17(木) 18:27:37.79ID:xgZUa/OO sed じゃないけど cut で
$ cut -d, -f2- dat.csv
$ cut -d, -f2- dat.csv
735デフォルトの名無しさん
2021/06/17(木) 19:04:27.30ID:vGCQo8/9 sed -r -i 's/\,.*$/\,/' a.csv
736デフォルトの名無しさん
2021/06/17(木) 19:44:55.11ID:xgZUa/OO >>734
間違えちゃった…(テヘッ
間違えちゃった…(テヘッ
737デフォルトの名無しさん
2021/06/17(木) 21:58:28.56ID:T6UVeHQo なんでもいいけど、-iはよせよw
738デフォルトの名無しさん
2021/06/17(木) 22:03:25.59ID:T6UVeHQo あ、あともう一つ突っ込み。
-rもいらないだろ?なんで使った?
バックスラもいらないでしょ
-rもいらないだろ?なんで使った?
バックスラもいらないでしょ
739デフォルトの名無しさん
2021/06/17(木) 23:43:32.54ID:dfr4yCUQ740デフォルトの名無しさん
2021/06/17(木) 23:49:44.80ID:dfr4yCUQ741デフォルトの名無しさん
2021/06/18(金) 01:05:57.70ID:fLSgA5jz742デフォルトの名無しさん
2021/06/23(水) 00:40:02.57ID:IzFohus8 >>675
UNIXを知ってますか?
UNIXを知ってますか?
743デフォルトの名無しさん
2021/06/23(水) 15:18:18.24ID:IrcINDyC 世間的に気にしてるヤツはそんなに居ない
744デフォルトの名無しさん
2021/06/25(金) 10:36:26.68ID:RM7Ajj8i >>733
sed -r 's/,.*$/,/g' test.csv
-r 拡張正規表現を使えるようにする。長いオプションはコレー> --regexp-extended
-i 何の確認もなしに実行結果でファイルを上書きするオプション。絶対に使ってはならない。 --in-place
正規表現
「.」は「任意の1文字」
「*」0回以上の繰り返し(たぶん0は空文字列)
「$」は「行末」
「,.*$」でカンマとそれに続く任意の1文字から行末まで
echo "chon, chon, chon" | sed -e 's/chon/5ch/' # 5ch, chon, chon
echo "chon, chon, chon" | sed -e 's/chon/5ch/g' # 5ch, 5ch, 5ch
sed -r 's/,.*$/,/g' test.csv
-r 拡張正規表現を使えるようにする。長いオプションはコレー> --regexp-extended
-i 何の確認もなしに実行結果でファイルを上書きするオプション。絶対に使ってはならない。 --in-place
正規表現
「.」は「任意の1文字」
「*」0回以上の繰り返し(たぶん0は空文字列)
「$」は「行末」
「,.*$」でカンマとそれに続く任意の1文字から行末まで
echo "chon, chon, chon" | sed -e 's/chon/5ch/' # 5ch, chon, chon
echo "chon, chon, chon" | sed -e 's/chon/5ch/g' # 5ch, 5ch, 5ch
745デフォルトの名無しさん
2021/06/25(金) 10:52:02.40ID:RM7Ajj8i >>733
# cutコマンドで1列目を取り出して
# sedで行末をカンマに置き換える
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/'
コレでよければ
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/' | tee test.csv
追記したければ
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/' | tee --append test.csv
# cutコマンドで1列目を取り出して
# sedで行末をカンマに置き換える
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/'
コレでよければ
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/' | tee test.csv
追記したければ
cut --delimiter=',' --fields='1' test.csv | sed 's/$/,/' | tee --append test.csv
746デフォルトの名無しさん
2021/06/25(金) 23:22:45.67ID:8lh6XF2h シェルスクリプトの話じゃねえ
747デフォルトの名無しさん
2021/06/26(土) 00:28:57.99ID:HkMm3Nsz pythonとかJavaは沢山ある癖に、シェルスクリプト学べるサイトは一つもないのな…
748デフォルトの名無しさん
2021/06/26(土) 06:02:48.49ID:m56tn/Vu >>733
# PowerShell
Get-Content "test.csv" | ForEach-Object { $1列目, $2列目, $3列目 = $_.Split(",") ; "$1列目" -replace "$", "," }
PS> gal
# Aliasを使うとこうなる
type "test.csv" | % { $1列目, $2列目, $3列目 = $_.Split(",") ; "$1列目" -replace "$", "," }
# PowerShell
Get-Content "test.csv" | ForEach-Object { $1列目, $2列目, $3列目 = $_.Split(",") ; "$1列目" -replace "$", "," }
PS> gal
# Aliasを使うとこうなる
type "test.csv" | % { $1列目, $2列目, $3列目 = $_.Split(",") ; "$1列目" -replace "$", "," }
749デフォルトの名無しさん
2021/06/26(土) 13:09:52.71ID:pd6KxWqx >>747
UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/
このサイトはどうだ?
リファレンス名乗ってるけど、シェルスクリプトの基本から
解説してるぞ。
UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/
このサイトはどうだ?
リファレンス名乗ってるけど、シェルスクリプトの基本から
解説してるぞ。
750デフォルトの名無しさん
2021/06/26(土) 15:02:58.18ID:HkMm3Nsz 書き方間違えた。。
シェルスクリプト学べる講座みたいな意味です。超初心者向けはあるけど、本格的に教えてくれるのないよね?
シェルスクリプト学べる講座みたいな意味です。超初心者向けはあるけど、本格的に教えてくれるのないよね?
751デフォルトの名無しさん
2021/06/26(土) 15:12:45.40ID:pd6KxWqx >>750
本格的、ってどういうもの?
シェル芸みたいなものってことか?
ま、それは確かにないだろうなあ。
ほとんどが秘伝というか口伝みたいなものだから、講座作れるほど網羅している
人ってのがなかなかいないしなあw
本格的、ってどういうもの?
シェル芸みたいなものってことか?
ま、それは確かにないだろうなあ。
ほとんどが秘伝というか口伝みたいなものだから、講座作れるほど網羅している
人ってのがなかなかいないしなあw
752デフォルトの名無しさん
2021/06/26(土) 15:20:25.76ID:15vAhO8I python使えたらシェルスクリプト要らんのでは
753デフォルトの名無しさん
2021/06/26(土) 15:26:57.82ID:pd6KxWqx754デフォルトの名無しさん
2021/06/26(土) 16:20:33.94ID:fSNbZd7z man bash > $HOME/Documents/bash.txt
vi $HOME/Documents/bash.txt
SHELL BUILTIN COMMANDSを検索
man dash > $HOME/Documents/bash.txt
vi $HOME/Documents/bash.txt
Builtinsを検索
vi $HOME/Documents/bash.txt
SHELL BUILTIN COMMANDSを検索
man dash > $HOME/Documents/bash.txt
vi $HOME/Documents/bash.txt
Builtinsを検索
755デフォルトの名無しさん
2021/06/26(土) 16:46:27.14ID:fSNbZd7z man bash-builtins
/検索語句
Nキー:次
Bキー:前
Qキー:終了
/検索語句
Nキー:次
Bキー:前
Qキー:終了
756デフォルトの名無しさん
2021/06/26(土) 16:58:17.32ID:Y3/GrXsT >>752
インストールされてない/したくない環境もあるやろ。
インストールされてない/したくない環境もあるやろ。
757デフォルトの名無しさん
2021/06/26(土) 19:39:26.99ID:6sjjJ5as 本なら、ある。
UNIXシェルスクリプトコマンドブック 第3版、 山下哲典、2015
ファイル・文字列処理なら、Ruby が良い
fileutils モジュールの、DryRun で、実際には実行せずに確認できる。
削除なら、FileUtils::DryRun.rm
UNIXシェルスクリプトコマンドブック 第3版、 山下哲典、2015
ファイル・文字列処理なら、Ruby が良い
fileutils モジュールの、DryRun で、実際には実行せずに確認できる。
削除なら、FileUtils::DryRun.rm
758デフォルトの名無しさん
2021/06/26(土) 20:08:24.78ID:eKFjOqkk >>755
何のためのレスかわからんけど、h 押してみ
何のためのレスかわからんけど、h 押してみ
759デフォルトの名無しさん
2021/06/26(土) 23:12:46.20ID:Y3/GrXsT760デフォルトの名無しさん
2021/06/27(日) 03:00:03.59ID:JLxNdtth h 押すだけで使い方を覚えなくてすむから良いね
761デフォルトの名無しさん
2021/06/27(日) 10:23:28.81ID:kOTo8S0v bashの予約語
! case coproc do done elif else esac fi for function if in select then until while { } time [[ ]]
その中からdashにはない予約語
! [[ ]] coproc function in select time
! case coproc do done elif else esac fi for function if in select then until while { } time [[ ]]
その中からdashにはない予約語
! [[ ]] coproc function in select time
762デフォルトの名無しさん
2021/06/27(日) 13:34:55.40ID:eeXftvTT763デフォルトの名無しさん
2021/06/28(月) 09:24:33.50ID:7rguVsVy >>747
名著「入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界」
名著「入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界」
764デフォルトの名無しさん
2021/06/28(月) 15:58:41.95ID:PrwZxveA functionはdashにはないので関数定義で
function 関数名 () { }
と書けない。関数をつくるときはfunctionを省く。
function 関数名 () { }
と書けない。関数をつくるときはfunctionを省く。
765デフォルトの名無しさん
2021/07/04(日) 23:04:42.22ID:B2MxyBfM Windows10ではC:\Windows\Microsoft.NET\Framework\<バージョン>以下にvbc.exeが標準インストールされてるけど
Windows11のInsider Preview版でも入ってる?
Windows11のInsider Preview版でも入ってる?
766デフォルトの名無しさん
2021/07/07(水) 15:15:00.04ID:y8n+ZYbw シェルスクリプトの引数として文字列を渡すとき、空白等を含むものはダブルクォーテーションで包んで渡してます
このダブルクォーテーションを省略できたら楽なのですが、行末 (セミコロン) まで丸々一つの文字列と見なす方法ありますか
このダブルクォーテーションを省略できたら楽なのですが、行末 (セミコロン) まで丸々一つの文字列と見なす方法ありますか
767デフォルトの名無しさん
2021/07/07(水) 17:53:02.55ID:S2V3/enC 上手く引数をクオートしてやればいいんじゃね、bashには最初からそんなシェル関数が定義されてるので、参考に
declare -p等の出力ね
ただしパースが不可逆な処理である以上、完全な再構築は不可能
自明な例:cmd 'a'とcmd a
行内コメントとヒストリ、スクリプト中のエイリアス展開等を使っていいならもっと攻められる
aliasは全ての展開に優先するので何でもできる
func () { history 1 | 引数処理}
alias getcmdline='func #'
getcmdline ) any' illegal " args
スクリプト中なら
set -o history
shopt -s expand_alias
が必要
declare -p等の出力ね
ただしパースが不可逆な処理である以上、完全な再構築は不可能
自明な例:cmd 'a'とcmd a
行内コメントとヒストリ、スクリプト中のエイリアス展開等を使っていいならもっと攻められる
aliasは全ての展開に優先するので何でもできる
func () { history 1 | 引数処理}
alias getcmdline='func #'
getcmdline ) any' illegal " args
スクリプト中なら
set -o history
shopt -s expand_alias
が必要
768デフォルトの名無しさん
2021/07/07(水) 17:59:42.48ID:S2V3/enC pwshにはズバリstop persing operator --%があるね
769デフォルトの名無しさん
2021/07/07(水) 18:50:47.92ID:S2V3/enC ;で止めるのはexprやパラメータ置換で;以降を切り出しておいて、ラップするコマンドの処理が済んだ後でeval に渡せばいいかな
&等他の制御構造も使いたいとなるとキリがないけど
下手に通常コマンドのように見せかけるのは混乱の元にもなるので、割り切った方がいい
&等他の制御構造も使いたいとなるとキリがないけど
下手に通常コマンドのように見せかけるのは混乱の元にもなるので、割り切った方がいい
770デフォルトの名無しさん
2021/07/07(水) 19:10:07.39ID:2/exV/Wq たかが''で括る手間を省く為に、あまりアナーキーなことをするのは…
771デフォルトの名無しさん
2021/07/07(水) 19:41:57.72ID:JjiOZstZ だよな
772デフォルトの名無しさん
2021/07/07(水) 21:59:30.78ID:rfVJ+RI1 これ動くんだ…
773デフォルトの名無しさん
2021/07/07(水) 22:09:19.52ID:lJn1zakl インラインコメントのつもりで付けた#以降が読まれる可能性があるけど、普通スクリプト中のエイリアスは無効だから大丈夫なのね
774デフォルトの名無しさん
2021/07/10(土) 17:17:24.24ID:QtAhxdi9 w3mブラウザを使っています。
w3mを起動した後の自動処理ってシェルでどのように書けばいいでしょうか??
毎回タブを作ってURL01とURL02を開くなどをやりたいのですが
bashrcにaliasやfunctionを書くことも考えましたが、w3m起動後の処理はできないので困っております。
w3mを起動した後の自動処理ってシェルでどのように書けばいいでしょうか??
毎回タブを作ってURL01とURL02を開くなどをやりたいのですが
bashrcにaliasやfunctionを書くことも考えましたが、w3m起動後の処理はできないので困っております。
775デフォルトの名無しさん
2021/07/10(土) 22:08:01.96ID:icE46eu/ 例えば、Ruby, Selenium Webdriver で、
Chrome なら操作できるけど、そういうマイナーなブラウザには対応していないかも
Rubyの他に、JavaScript でも書ける。
Selenium IDE と言うのもあるらしい
url_0 = "どこかのURL"
url_1 = "どこかのURL"
driver.navigate.to url_0 # url_0 のタブを開く
driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # 新しいタブ内で、url_1 を開く
Chrome なら操作できるけど、そういうマイナーなブラウザには対応していないかも
Rubyの他に、JavaScript でも書ける。
Selenium IDE と言うのもあるらしい
url_0 = "どこかのURL"
url_1 = "どこかのURL"
driver.navigate.to url_0 # url_0 のタブを開く
driver.execute_script( "window.open()" ) # 新しいタブを開く
driver.switch_to.window( driver.window_handles.last ) # 新しいタブへ移動する
driver.navigate.to url_1 # 新しいタブ内で、url_1 を開く
776デフォルトの名無しさん
2021/07/10(土) 23:45:50.65ID:/14ZuXuK TTY操作ってんならシェルスクリプトではなくexpectスクリプトでしょ
Linux/Unix/プログラム各板見たがexpectスレはないみたいで恐縮ではあるが
Linux/Unix/プログラム各板見たがexpectスレはないみたいで恐縮ではあるが
777デフォルトの名無しさん
2021/07/11(日) 02:11:09.53ID:lZiRxAj0 Ruby にも、expect ある
778デフォルトの名無しさん
2021/07/11(日) 06:05:30.31ID:KqeUxmyI 間に擬似端末を挟む方法で w3m や lynx を自動化したことならあるけど
w3m には自動化のためのインターフェースがあるみたいだよ。
その名を "Local CGI" という。
残念ながら man には書かれていないが、普通にダウンロードすれば
doc-jp/MANUAL.html に書いてある。
サンプルコードは Bonus/ にある。
ご所望のことが全部できるかは判らないが
他の方法よりは確実な動作を期待できそうだ。
w3m には自動化のためのインターフェースがあるみたいだよ。
その名を "Local CGI" という。
残念ながら man には書かれていないが、普通にダウンロードすれば
doc-jp/MANUAL.html に書いてある。
サンプルコードは Bonus/ にある。
ご所望のことが全部できるかは判らないが
他の方法よりは確実な動作を期待できそうだ。
779デフォルトの名無しさん
2021/07/12(月) 18:24:55.56ID:f04FcsMT780デフォルトの名無しさん
2021/07/15(木) 16:46:27.48ID:IbROtnW3 >/dev/nullでゴミ捨ててるコードをよく見るけど、
|:はダメなの?個人的によく使うんだけど
標準入力受け付けない:があったりするのだろうか
|:はダメなの?個人的によく使うんだけど
標準入力受け付けない:があったりするのだろうか
781デフォルトの名無しさん
2021/07/15(木) 16:49:38.15ID:IbROtnW3 もちろんステータス見たい時はイエスマンの:はダメだけど、単に出力全部捨てたいケースね
標準エラーはパイプを通らないし、標準出力は:が食べる
標準エラーはパイプを通らないし、標準出力は:が食べる
782デフォルトの名無しさん
2021/07/15(木) 17:56:15.08ID:CDvGwwEr 全部捨ててるのではなくて
最初に書いた時にSIGPIPEで死んでる
それに無駄にfork/cloneしてる
最初に書いた時にSIGPIPEで死んでる
それに無駄にfork/cloneしてる
783デフォルトの名無しさん
2021/07/19(月) 08:43:54.11ID:7DxAXQZB 【完全解説】ブログで月1万円稼ぐ具体的な方法!【アニメ動画】
https://www.youtube.com/watch?v=M_Umbak9icg&t=401s
【ブログの始め方完全解説!】聞くだけでOK!初心者でもわかるよう基本から超丁寧に解説!【これだけでOK!】
https://www.youtube.com/watch?v=M1lUsqp7lgY
【凡人でもOK】何の実績も強みも無い人がブログで稼ぐ方法
https://www.youtube.com/watch?v=OODFq6YIbYg
【雑記ブログの始め方】「収益化させやすい」運営方法を5ステップで解説【ワードプレス】
https://www.youtube.com/watch?v=WWU_Akj2onM&t=2s
ブログ運営のおすすめ必須ツール11選!【これだけで月100万円いけます】
https://www.youtube.com/watch?v=w1Oj_WIkNJs
【こんな人は伸びる!】上手くいくブロガーの特徴ベスト5!【月収100万超えブロガーが徹底解説!】
https://www.youtube.com/watch?v=nJG4SsoIN0w
【知らないと失敗する!】ブログで稼ぐための目標設定をプロが解説!
https://www.youtube.com/watch?v=wvWFGZ9hPIo
https://www.youtube.com/watch?v=M_Umbak9icg&t=401s
【ブログの始め方完全解説!】聞くだけでOK!初心者でもわかるよう基本から超丁寧に解説!【これだけでOK!】
https://www.youtube.com/watch?v=M1lUsqp7lgY
【凡人でもOK】何の実績も強みも無い人がブログで稼ぐ方法
https://www.youtube.com/watch?v=OODFq6YIbYg
【雑記ブログの始め方】「収益化させやすい」運営方法を5ステップで解説【ワードプレス】
https://www.youtube.com/watch?v=WWU_Akj2onM&t=2s
ブログ運営のおすすめ必須ツール11選!【これだけで月100万円いけます】
https://www.youtube.com/watch?v=w1Oj_WIkNJs
【こんな人は伸びる!】上手くいくブロガーの特徴ベスト5!【月収100万超えブロガーが徹底解説!】
https://www.youtube.com/watch?v=nJG4SsoIN0w
【知らないと失敗する!】ブログで稼ぐための目標設定をプロが解説!
https://www.youtube.com/watch?v=wvWFGZ9hPIo
784デフォルトの名無しさん
2021/07/19(月) 20:25:38.28ID:Vxw+8mZv makeについて質問。
makeを多段に実行したとき、ログに「make[...]:」とか段数が出力されますが、あの段数をリセットする方法はありますか?
ログはmake: → make[1]: → make[2]: → make[3]:と深くなるにつれて出力が変わりますが、たとえば3段目でリセットして、make: → make[1]: → make: → make[1]:にする、みたいな。
makeを多段に実行したとき、ログに「make[...]:」とか段数が出力されますが、あの段数をリセットする方法はありますか?
ログはmake: → make[1]: → make[2]: → make[3]:と深くなるにつれて出力が変わりますが、たとえば3段目でリセットして、make: → make[1]: → make: → make[1]:にする、みたいな。
785デフォルトの名無しさん
2021/07/19(月) 21:17:27.86ID:1Cvv5Nld makeスクリプトの中に
sh -ec make
挟むとか
sh -ec make
挟むとか
786デフォルトの名無しさん
2021/07/20(火) 10:34:00.51ID:KkKHDI5m787デフォルトの名無しさん
2021/07/20(火) 10:34:49.18ID:KkKHDI5m788デフォルトの名無しさん
2021/07/30(金) 18:22:37.15ID:7AkGA5GJ スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
789デフォルトの名無しさん
2021/07/30(金) 18:25:38.46ID:PFQXQc2n 誤爆だろな
790デフォルトの名無しさん
2021/07/30(金) 19:56:33.31ID:pVd7PqHN 他人は誰も何も保証などしないし責任など取ってくれないので法律について自分で調べて安全圏と思える範囲内でやるしかない
791デフォルトの名無しさん
2021/08/01(日) 08:18:52.13ID:gdH7Qy0E なんでわざわざシェルスクリプトでスクレイピングするのか?
792デフォルトの名無しさん
2021/08/01(日) 09:34:42.67ID:4xiWMys0 wgetやcurlとjson
HTMLを加工しデータを抽出するためにsed、grep
不正アクセスのリスクはどこにでもある
相手次第でしかないから
過去に図書館のシステムを作ったエンジニアが
蔵書を調べたいという目的で負荷をかけない範囲でアクセスしてたら
訴えられたってのあったな
自分がやってたのを例に挙げると
配信サイトからの動画の一括ダウンロード
配信履歴の取得などか
動画はまあそのものだが
HTMLの履歴ページにアクセスしてページを繰って
回数、時間などの集計をして傾向を分析してた
id入れれば全部やってくれるから便利だったけど
一連の処理をするツールは自分で作った
HTMLを加工しデータを抽出するためにsed、grep
不正アクセスのリスクはどこにでもある
相手次第でしかないから
過去に図書館のシステムを作ったエンジニアが
蔵書を調べたいという目的で負荷をかけない範囲でアクセスしてたら
訴えられたってのあったな
自分がやってたのを例に挙げると
配信サイトからの動画の一括ダウンロード
配信履歴の取得などか
動画はまあそのものだが
HTMLの履歴ページにアクセスしてページを繰って
回数、時間などの集計をして傾向を分析してた
id入れれば全部やってくれるから便利だったけど
一連の処理をするツールは自分で作った
793デフォルトの名無しさん
2021/08/01(日) 10:34:45.80ID:GhkJ8vMz >>792
不正アクセスの意味すら知らんやつがスクレイピングしたらだめだぞ
不正アクセスの意味すら知らんやつがスクレイピングしたらだめだぞ
794デフォルトの名無しさん
2021/08/01(日) 11:26:43.15ID:boMMlR1G795デフォルトの名無しさん
2021/08/01(日) 12:49:15.25ID:ekL5DYUO googleが関わっているサイトはそもそもスクレイピングをさせないよね
自動的にやっていることが分かった瞬間にアクセスを出来なくしている
アルゴリズムは非公開
時間間隔を見ているとかそういう単純なものではないらしい
自動的にやっていることが分かった瞬間にアクセスを出来なくしている
アルゴリズムは非公開
時間間隔を見ているとかそういう単純なものではないらしい
796デフォルトの名無しさん
2021/08/01(日) 13:16:33.62ID:RrS7g+U3 youtubeとか普通に出来てるんだが
特に規制くらったりは無いな
特に規制くらったりは無いな
797デフォルトの名無しさん
2021/08/01(日) 21:46:14.00ID:dQpg7mz5 google検索を自動にしようとすると規制を受けるよ
798デフォルトの名無しさん
2021/08/04(水) 02:42:48.46ID:bE85vB+i zshで走るスクリプトをもらったんですが、bashで走らせるとどこかでエラーになるようです。
一応bashで走るようにしたいんですが、スクリプトのどういう部分をチェックしたらいい、みたいの
ってあります?
一応bashで走るようにしたいんですが、スクリプトのどういう部分をチェックしたらいい、みたいの
ってあります?
799デフォルトの名無しさん
2021/08/04(水) 04:05:35.99ID:rVD3iYVZ ググればある
問題点を絞り込めないんだったら、Webで長く書いてくれてるのを読もう
問題点を絞り込めないんだったら、Webで長く書いてくれてるのを読もう
800デフォルトの名無しさん
2021/08/04(水) 10:23:51.95ID:sXlocsw8 1行ずつ貼り付けて実行してエラー箇所確認できないの
801デフォルトの名無しさん
2021/08/04(水) 14:54:33.64ID:oTWoXRyh いやーここの皆さんならエスパーしていただけるかと思ったのですが。
とりあえず line 25: zparseopts: command not found と出ました。
とりあえず line 25: zparseopts: command not found と出ました。
802デフォルトの名無しさん
2021/08/04(水) 15:57:29.74ID:ZkQ7EvI3 zsh固有のを使ってるつもりが無くてもbashで動かないのは、
いくつかある動作の僅かな差異でもありえるし、そのどれを使ってもわからんから、
エスパーは無理だろな
command not found やん。モロzsh固有の使っててやん
zsh固有のなんてもっとあるんだから、エスパーは尚更無理だろうな
getopt/getoptsを書き換えればいいだろう、その部分の話なら
他にもあるんだったら、command not foundもわからないんだったら自力では山が高いとしか思えんけど、自力で頑張れ
いくつかある動作の僅かな差異でもありえるし、そのどれを使ってもわからんから、
エスパーは無理だろな
command not found やん。モロzsh固有の使っててやん
zsh固有のなんてもっとあるんだから、エスパーは尚更無理だろうな
getopt/getoptsを書き換えればいいだろう、その部分の話なら
他にもあるんだったら、command not foundもわからないんだったら自力では山が高いとしか思えんけど、自力で頑張れ
803デフォルトの名無しさん
2021/08/04(水) 17:01:53.30ID:vF9ccavM つーか、何が起きるかわからんのに、別シェルのスクリプトをわからんままによく実行できるな。w
メチャクチャに壊されるかもなのに。
メチャクチャに壊されるかもなのに。
804デフォルトの名無しさん
2021/08/04(水) 17:57:21.23ID:f2ZFKBK8 zshって真面目にドキュメント読もうとすると
機能多すぎて嫌になるよねw
機能多すぎて嫌になるよねw
805デフォルトの名無しさん
2021/08/04(水) 17:57:42.62ID:f2ZFKBK8 おや?chromeから書き込めた???
806デフォルトの名無しさん
2021/08/04(水) 17:58:08.01ID:f2ZFKBK8 あ、janeからも書き込めたw
禁止解除されたかwww
禁止解除されたかwww
807デフォルトの名無しさん
2021/08/04(水) 17:59:30.91ID:f2ZFKBK8 っていうか普通にzshインストールすりゃいいだけじゃん
808デフォルトの名無しさん
2021/08/04(水) 18:18:14.91ID:VUbcTRKP 別にメチャクチャに壊されても構わんのだろう?
809デフォルトの名無しさん
2021/08/04(水) 18:21:21.06ID:f2ZFKBK8 そのシェルスクリプトの最初に
if [ $BASH_VERSION ]; then
sudo apt-get update && sudo apt-get install -y zsh
zsh "$0" "$@"
fi
とか書いておけば動くんじゃね?www
if [ $BASH_VERSION ]; then
sudo apt-get update && sudo apt-get install -y zsh
zsh "$0" "$@"
fi
とか書いておけば動くんじゃね?www
810デフォルトの名無しさん
2021/08/04(水) 19:21:42.69ID:ZkQ7EvI3811デフォルトの名無しさん
2021/08/04(水) 19:31:41.64ID:f2ZFKBK8 zshで動くものをbashで動かしたら何が起きるかわからんじゃん
そのzshスクリプトはエラーでちゃんと停止するんか?
想定とは違うディレクトリで中途半端に動いたりしないんか?
そのzshスクリプトはエラーでちゃんと停止するんか?
想定とは違うディレクトリで中途半端に動いたりしないんか?
812デフォルトの名無しさん
2021/08/04(水) 19:36:30.26ID:ZkQ7EvI3 >何をするのかもわかってるだろう
のうちだろ
動作させないと何が問題かわからんし、そもそもどの程度の知識かもわからんし
仮に何かあっても、全く何もわからないのにbashで動くようにしたいという望みを持った勉強代だなw
動作させないと何が問題かわからんのだから、問いに対して動かしてみろと言うのは当たり前の話でしかないだろう
何を言いたいのかわからんぞ
のうちだろ
動作させないと何が問題かわからんし、そもそもどの程度の知識かもわからんし
仮に何かあっても、全く何もわからないのにbashで動くようにしたいという望みを持った勉強代だなw
動作させないと何が問題かわからんのだから、問いに対して動かしてみろと言うのは当たり前の話でしかないだろう
何を言いたいのかわからんぞ
813デフォルトの名無しさん
2021/08/04(水) 19:56:41.44ID:oNOmhdBC どうなるか分からんけどとりあえず動かしたいならdockerコンテナ上で試せばいい
814デフォルトの名無しさん
2021/08/04(水) 20:04:22.89ID:vF9ccavM■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」★2 [冬月記者★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- かつや、明日からカツ丼(竹)790円→590円、ロースカツ定食830円→630円、カツカレー(竹)990円→790円 画像あり [お断り★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 【実況】博衣こよりのえちえち声優楽プロジェクト共同研究発表会🧪
- 高市早苗、トランプおやびんに泣きつくwwwwwwwwwwwwwwwwwwwwwwww [834922174]
- 中国「防衛省の説明は矛盾してる。」 [834922174]
- ケンモメンってなんでこんなに反日が多いの? [866936191]
- 中国、日本人tiktokの収益剥奪開始wmwmwmwmwmwm [834922174]
- 【超絶悲報】高市、謎の宗教団体から巨額の政治献金WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
