シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その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
720デフォルトの名無しさん
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:vF9ccavM815デフォルトの名無しさん
2021/08/04(水) 20:09:58.00ID:ZkQ7EvI3816デフォルトの名無しさん
2021/08/04(水) 21:08:01.90ID:vF9ccavM817デフォルトの名無しさん
2021/08/04(水) 21:28:34.60ID:ZkQ7EvI3 >>816
何が知らんがなだよw
「メチャクチャ」に「壊される」からは悪意を想像しても不思議ではないと思うけどなあ
そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
何が知らんがなだよw
「メチャクチャ」に「壊される」からは悪意を想像しても不思議ではないと思うけどなあ
そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
818デフォルトの名無しさん
2021/08/05(木) 00:09:48.84ID:r/zZzNU4 >>817
超ふしぎじゃ。
壊す主体は、動作の読めないスクリプトに決まってるやろ。
読解力ゼロなんか。w
> そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
たまたまrm *になるだけでおしまいやぞ?
超ふしぎじゃ。
壊す主体は、動作の読めないスクリプトに決まってるやろ。
読解力ゼロなんか。w
> そんななんかダメなとこあったらメチャクチャに壊すスクリプトもそう無いだろうからな。そんなのばっか書いてるの?
たまたまrm *になるだけでおしまいやぞ?
819デフォルトの名無しさん
2021/08/05(木) 02:16:14.66ID:uXuSxWIZ >>818
何を言っているんだかな
何が「主体」だか、当たり前だろ。その主体に悪意があるかもしれないって話だろう
「メチャクチャ」に「壊される」が悪意を持って書かれたスクリプトを表すと読めても不思議ではないって話なんだが
読めないのはどっちなんだかなw
たまたまとか頻度がわからんな。すぐにそんなの想像してしまうぐらいの頻度で書いてるのか?w
とか、もうアレだけどw とりあえず単なる杞憂でしかないのは質問者の最初のレスで明らかだし、自己責任の範囲。やってくれないとレスしようがないし、
やってちょっとはその具体的な実行結果を出してくれたことにより、原因他が明確(*)になってんだから、ただの蛇足もこれまでにしとこな
*)お前の最初のレスもそれにより=ほとんど何も知らない人だったとわかってだろう?w
何を言っているんだかな
何が「主体」だか、当たり前だろ。その主体に悪意があるかもしれないって話だろう
「メチャクチャ」に「壊される」が悪意を持って書かれたスクリプトを表すと読めても不思議ではないって話なんだが
読めないのはどっちなんだかなw
たまたまとか頻度がわからんな。すぐにそんなの想像してしまうぐらいの頻度で書いてるのか?w
とか、もうアレだけどw とりあえず単なる杞憂でしかないのは質問者の最初のレスで明らかだし、自己責任の範囲。やってくれないとレスしようがないし、
やってちょっとはその具体的な実行結果を出してくれたことにより、原因他が明確(*)になってんだから、ただの蛇足もこれまでにしとこな
*)お前の最初のレスもそれにより=ほとんど何も知らない人だったとわかってだろう?w
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
- 【正論】高市さん「長期金利が上がり続けていくことよりも、日本が成長していく方が大事」 [519511584]
- ギャル時代の私見て
- 自作pc時期が悪いおじさん、絶命 [329329848]
