シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その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
690デフォルトの名無しさん
2021/06/09(水) 10:49:19.85ID:Zc888NJs >>689
それって sudo してるからパスワード入力が必要になるが、最後に & 付いてるからシェルに戻って来ちゃうからうまく行かんのでは?
普通にコマンドラインから入力してもうまく行かんと思うんだが。1度sudoで何かを動かした後でパスワード入力しなくて良い状態になっている時ならできるだろうけど。
それって sudo してるからパスワード入力が必要になるが、最後に & 付いてるからシェルに戻って来ちゃうからうまく行かんのでは?
普通にコマンドラインから入力してもうまく行かんと思うんだが。1度sudoで何かを動かした後でパスワード入力しなくて良い状態になっている時ならできるだろうけど。
691デフォルトの名無しさん
2021/06/09(水) 14:08:40.45ID:HNZZx/kM692デフォルトの名無しさん
2021/06/13(日) 19:52:58.76ID:5F9QidAB sudo でワイルドカード使いたいときって
sudo sh -c "hoge *"
をイディオムだと思って使うのが良いですかね?
他のやり方ってありますか?
sudo sh -c "hoge *"
をイディオムだと思って使うのが良いですかね?
他のやり方ってありますか?
693デフォルトの名無しさん
2021/06/13(日) 20:33:30.15ID:ZhJARNOF694デフォルトの名無しさん
2021/06/14(月) 11:12:16.03ID:KZOl1vP3 イディオムってなんだよ? 何も考えたくないって言ってんのか?
正しいコードを書くだけの話だろ
正しいコードを書くだけの話だろ
695デフォルトの名無しさん
2021/06/14(月) 12:55:12.73ID:0x3Kpqg0 その「正しいコード」とやらが、初心者にはちょっと難しいことはわかる。
凝ったことをやるときに、シェル組み込みのコマンドや機能は混乱のもとやからしゃあない。
凝ったことをやるときに、シェル組み込みのコマンドや機能は混乱のもとやからしゃあない。
696デフォルトの名無しさん
2021/06/14(月) 15:51:02.64ID:KZOl1vP3 俺が突っ込みたいのは「イディオム」って言葉だよ
仕組みを理解したくないってのがバレバレなんだよ
上司「なんでこんなコードにしたの?」
馬鹿「知りません。イディオムです!」
っていいたいのバレバレやろ?
仕組みを理解したくないってのがバレバレなんだよ
上司「なんでこんなコードにしたの?」
馬鹿「知りません。イディオムです!」
っていいたいのバレバレやろ?
697デフォルトの名無しさん
2021/06/14(月) 16:13:33.51ID:lTAIWsCW すみません
sh -c は何も sudo でワイルドカードを使うためだけに存在する構文ではないので、イディオムと申しました
sh -c は何も sudo でワイルドカードを使うためだけに存在する構文ではないので、イディオムと申しました
698デフォルトの名無しさん
2021/06/14(月) 16:18:29.41ID:lTAIWsCW sudoが使えるユーザが利用者で、実行時にパスワードを求める想定です
このときにワイルドカードを使うための、その「正しいコード」とはどのようなものですか、というのが質問です
このときにワイルドカードを使うための、その「正しいコード」とはどのようなものですか、というのが質問です
699デフォルトの名無しさん
2021/06/14(月) 19:26:11.00ID:hx6guc/Q sudoでもワイルドカード使えるし
echo /etc/*.conf
ってしてみろ
shellの機能を使ってるのがわかってない
shellのオーナーはrootじゃなくユーザー
echo /etc/*.conf
ってしてみろ
shellの機能を使ってるのがわかってない
shellのオーナーはrootじゃなくユーザー
700デフォルトの名無しさん
2021/06/14(月) 21:27:46.24ID:KZOl1vP3 正しいコードを聞くんじゃなくて、
シェルスクリプトを勉強しろって言ってんの
コード聞いて終わりにするだろ
上司「なんでこんなコードにしたの?」
馬鹿「知りません。5ちゃんねるでこれが正しいって聞きました!」
シェルスクリプトを勉強しろって言ってんの
コード聞いて終わりにするだろ
上司「なんでこんなコードにしたの?」
馬鹿「知りません。5ちゃんねるでこれが正しいって聞きました!」
701デフォルトの名無しさん
2021/06/14(月) 21:29:27.91ID:0x3Kpqg0702デフォルトの名無しさん
2021/06/14(月) 21:32:42.19ID:0x3Kpqg0703デフォルトの名無しさん
2021/06/14(月) 21:42:49.75ID:TBcjiJdx704デフォルトの名無しさん
2021/06/14(月) 21:47:07.04ID:KZOl1vP3 どこがイディオムなんだ?ただのワイルドカードだろ
*がワイルドカードで終わる話なんだが?
うん。はいおわた。そこにイディオムはありません。
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%87%E3%82%A3%E3%82%AA%E3%83%A0
イディオム(英語: idiom、フランス語: idiome、ドイツ語: Idiom)とは、
単語における一定の配列での連結の総称である。言語の類型によっては、
単語に準ずる形態素や表意性を持つ文字がこの役割を担うこともある。
この連結によって、慣習的に用例と意味が固定しており、字面から意味を推測できないことも多い。
*がワイルドカードで終わる話なんだが?
うん。はいおわた。そこにイディオムはありません。
https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%87%E3%82%A3%E3%82%AA%E3%83%A0
イディオム(英語: idiom、フランス語: idiome、ドイツ語: Idiom)とは、
単語における一定の配列での連結の総称である。言語の類型によっては、
単語に準ずる形態素や表意性を持つ文字がこの役割を担うこともある。
この連結によって、慣習的に用例と意味が固定しており、字面から意味を推測できないことも多い。
705デフォルトの名無しさん
2021/06/14(月) 21:51:20.88ID:XErzM4Zs ↑ 本題とは関係ない変なこだわりっぷりはキチガイ
706デフォルトの名無しさん
2021/06/14(月) 22:01:38.26ID:KZOl1vP3 本題の答え *がワイルドカード
あとは書いたように動く
イディオムなんてない
あとは書いたように動く
イディオムなんてない
707デフォルトの名無しさん
2021/06/14(月) 22:07:17.88ID:RVbOy7mU >>701
sudoはsudo cmdのcmdの実行をroot権限にするだけ
echo *.confもechoにしてみたらいろんなの渡されてびっくりだよ
shellはあらかじめ余計な処理をする
shellを実行してるのはuser
sudoはsudo cmdのcmdの実行をroot権限にするだけ
echo *.confもechoにしてみたらいろんなの渡されてびっくりだよ
shellはあらかじめ余計な処理をする
shellを実行してるのはuser
708デフォルトの名無しさん
2021/06/14(月) 22:19:23.20ID:XErzM4Zs >あらかじめ余計な処理
余計といえば余計だが、その余計なおかげでechoなどは何もしなくてもいいんだけど
POSIXに展開はルールは明文化されてるから一度読めばいいと思う
余計といえば余計だが、その余計なおかげでechoなどは何もしなくてもいいんだけど
POSIXに展開はルールは明文化されてるから一度読めばいいと思う
709デフォルトの名無しさん
2021/06/14(月) 22:38:14.31ID:0x3Kpqg0710デフォルトの名無しさん
2021/06/14(月) 22:38:16.95ID:lTAIWsCW711デフォルトの名無しさん
2021/06/14(月) 22:42:35.98ID:0x3Kpqg0 >>707
sudoであえてshを実行する意味がわかってないやろ?
sudoであえてshを実行する意味がわかってないやろ?
712デフォルトの名無しさん
2021/06/14(月) 22:43:09.07ID:XErzM4Zs >>710
人格が変わりすぎだろうw
It’s a common idiom to use env to find bash even if it’s been installed in another directory
と同じような感覚で使ったんだろう?そもそもは。とは思ってたけど
しかし人格が変わりすぎwww
人格が変わりすぎだろうw
It’s a common idiom to use env to find bash even if it’s been installed in another directory
と同じような感覚で使ったんだろう?そもそもは。とは思ってたけど
しかし人格が変わりすぎwww
713デフォルトの名無しさん
2021/06/14(月) 22:43:39.18ID:TBcjiJdx714デフォルトの名無しさん
2021/06/14(月) 22:45:44.34ID:lTAIWsCW715デフォルトの名無しさん
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 誤爆だろな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 残クレマイホーム爆誕 [715715613]
