シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
探検
シェルスクリプト総合 その35
■ このスレッドは過去ログ倉庫に格納されています
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
605デフォルトの名無しさん
2020/12/31(木) 19:14:03.59ID:+40/WJTs 少し訂正
× awkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
○ 埋め込みawkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
Pythonのコー ドをワンライナーでシェルスクリプトに埋め込むのと同じ
ワンライナー程度ならまだシェルスクリプトがメインと言えるだろうが
何十行も全体の半分以上も埋め込むなやw
× awkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
○ 埋め込みawkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
Pythonのコー ドをワンライナーでシェルスクリプトに埋め込むのと同じ
ワンライナー程度ならまだシェルスクリプトがメインと言えるだろうが
何十行も全体の半分以上も埋め込むなやw
606デフォルトの名無しさん
2020/12/31(木) 20:11:12.41ID:jey11SVr >>601
hoge=$(aiuo)かhoge=`aiuo`にすれば?
hoge=$(aiuo)かhoge=`aiuo`にすれば?
607デフォルトの名無しさん
2020/12/31(木) 20:20:46.04ID:6l44qxZH608デフォルトの名無しさん
2020/12/31(木) 20:57:23.81ID:2bA0HVQw ( hoge; hage ) コマンドのグループ化(サブシェル内でコマンド実行)
{ hoge; hage; } コマンドのグループ化(サブシェルなしでコマンド実行)
ret=$( hoge; hage ) 標準出力の結果を変数に入れる(サブシェル内でコマンド実行)
ret=`hoge; hage` 上記と同等。POSIXに準拠してない古いシェル用の書き方。ネストできないので30年前から非推奨。
ret=${ hoge; hage; } こんなものはない
{ hoge; hage; } コマンドのグループ化(サブシェルなしでコマンド実行)
ret=$( hoge; hage ) 標準出力の結果を変数に入れる(サブシェル内でコマンド実行)
ret=`hoge; hage` 上記と同等。POSIXに準拠してない古いシェル用の書き方。ネストできないので30年前から非推奨。
ret=${ hoge; hage; } こんなものはない
609デフォルトの名無しさん
2020/12/31(木) 21:11:15.00ID:6l44qxZH >>608
どうもありがとうございました
どうもありがとうございました
610デフォルトの名無しさん
2021/01/01(金) 00:39:28.26ID:wSR0l3d3611デフォルトの名無しさん
2021/01/01(金) 00:47:58.70ID:hjo1vK/7 もうどうでもいいよw
``は30年前から非推奨
四則演算にexprを使うのも30年前から非推奨
$(...) と $((...)) を使うのが30年前から続くPOSIX準拠のトレンド
これを普及させることが今年の目標なw
``は30年前から非推奨
四則演算にexprを使うのも30年前から非推奨
$(...) と $((...)) を使うのが30年前から続くPOSIX準拠のトレンド
これを普及させることが今年の目標なw
612デフォルトの名無しさん
2021/01/01(金) 01:28:03.16ID:7BFOsP2G >>610
シングルクウォートでできないっけ
シングルクウォートでできないっけ
613デフォルトの名無しさん
2021/01/01(金) 01:52:19.59ID:2/H3yQW9 >>612
バックスラッシュかな。バックスラッシュでできるよう
`level1\`level2\\\`level3\\\\\\\`level4\\\\\\\`\\\`\\\`level3\\\`\``
のような
なんか笑うw
バックスラッシュかな。バックスラッシュでできるよう
`level1\`level2\\\`level3\\\\\\\`level4\\\\\\\`\\\`\\\`level3\\\`\``
のような
なんか笑うw
614デフォルトの名無しさん
2021/01/01(金) 01:57:51.57ID:7BFOsP2G >>613
これは分かりにくいな…
これは分かりにくいな…
615デフォルトの名無しさん
2021/01/01(金) 02:15:20.98ID:2/H3yQW9 \ はどういう増加率やねんと思った(level4は一つずつ増やしての手動)ら、2^(level-1)-1
だった
まあ、そんなにネストするやつは居ないだろうで実質level3ぐらいが実用的な範囲か
(もしくはそんなにネストすんなという暗黙的戒めか?w)
でも、遊びでlevel6とかするとやっぱり笑うw
>>614
うん。でも、見方変えるとなんかでかいからペアがわかりやすく...もねえかw
だった
まあ、そんなにネストするやつは居ないだろうで実質level3ぐらいが実用的な範囲か
(もしくはそんなにネストすんなという暗黙的戒めか?w)
でも、遊びでlevel6とかするとやっぱり笑うw
>>614
うん。でも、見方変えるとなんかでかいからペアがわかりやすく...もねえかw
616デフォルトの名無しさん
2021/01/01(金) 02:55:03.01ID:hjo1vK/7 >>613
つまようじ大好き症候群やめろ
つまようじ大好き症候群やめろ
617デフォルトの名無しさん
2021/01/01(金) 03:00:52.40ID:hjo1vK/7 さすがにPOSIXを厳守してるので``つかいます。expr使います。
とか言ってるエセPOSIX信者は消えたかね?
あと`#`とかいうハックするやつは○ね
サブシェル起動で遅くなるだろが
とか言ってるエセPOSIX信者は消えたかね?
あと`#`とかいうハックするやつは○ね
サブシェル起動で遅くなるだろが
618デフォルトの名無しさん
2021/01/01(金) 03:08:12.13ID:2/H3yQW9 いつものやつとしか思えないw
自分が間違ったのを異常に誤魔化すような(いつものw)異常なレスだなと見えるぞ
自分が間違ったのを異常に誤魔化すような(いつものw)異常なレスだなと見えるぞ
619デフォルトの名無しさん
2021/01/02(土) 20:28:18.95ID:YRmKf+cs read -u の -u ってなんの略?
621デフォルトの名無しさん
2021/01/02(土) 21:32:04.01ID:1KyEUTu5 ussodaroomae
622デフォルトの名無しさん
2021/01/03(日) 22:01:05.48ID:sJkgD0sU >>619
brian に聞いたら used だって言ってた
brian に聞いたら used だって言ってた
623デフォルトの名無しさん
2021/01/04(月) 05:07:20.98ID:2pj20ySx unitみたいだね
624デフォルトの名無しさん
2021/01/04(月) 05:36:45.90ID:vYYyBooK universe
625デフォルトの名無しさん
2021/01/04(月) 12:53:18.02ID:gQq4oDMw aaa="testtt" #フォルダ名
date_dir=$(mkdir -p $aaa/`date '+%Y%m%d'`) #testttフォルダの中に20210104の作りたい
wget https://example.com/example.txt -P $date_dir
これをやるとフォルダは作られるけどtxtの保存先がカレントディレクトリになるのはどうしてですか?
date_dir=$(mkdir -p $aaa/`date '+%Y%m%d'`) #testttフォルダの中に20210104の作りたい
wget https://example.com/example.txt -P $date_dir
これをやるとフォルダは作られるけどtxtの保存先がカレントディレクトリになるのはどうしてですか?
626デフォルトの名無しさん
2021/01/04(月) 13:13:55.07ID:VbZo6FxW627デフォルトの名無しさん
2021/01/04(月) 15:14:38.15ID:gQq4oDMw628デフォルトの名無しさん
2021/01/04(月) 15:43:15.17ID:UbvRjqjo mkdir -p $aaa/`date '+%Y%m%d'`の標準出力見てごらん
629デフォルトの名無しさん
2021/01/04(月) 17:34:40.13ID:yec7Hk1C mkdir が、戻り値を返すか?
An exit status of zero indicates success,
and a nonzero value indicates failure.
echo $?
だろ
An exit status of zero indicates success,
and a nonzero value indicates failure.
echo $?
だろ
630デフォルトの名無しさん
2021/01/04(月) 20:03:34.81ID:qovFEaH+ これがアスペか
631デフォルトの名無しさん
2021/01/05(火) 00:39:17.17ID:DDTn90b5 みたいだな。キチも少し入ってそうな
632デフォルトの名無しさん
2021/01/05(火) 03:43:22.28ID:psakH13p いや、単にバカなだけでは...
633デフォルトの名無しさん
2021/01/05(火) 10:50:42.48ID:yLm33Pt/ POSIXじゃないからダメ。
634デフォルトの名無しさん
2021/01/05(火) 10:55:00.15ID:aNkjNIb3 >>633
俺のふりをするな
俺のふりをするな
635デフォルトの名無しさん
2021/01/05(火) 12:08:48.70ID:zD1ciQHW Ruby では、あるディレクトリ直下のディレクトリだけをソートして、
", "(カンマと空白)でつなげて、1行の文字列にしたものは、
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
出力
app, bin, config, db
これをシェルスクリプトでは、どう作るの?
これらを使うの?
ls -d */
find . -maxdepth 1 -type d
", "(カンマと空白)でつなげて、1行の文字列にしたものは、
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
出力
app, bin, config, db
これをシェルスクリプトでは、どう作るの?
これらを使うの?
ls -d */
find . -maxdepth 1 -type d
636デフォルトの名無しさん
2021/01/05(火) 15:59:04.73ID:2z9IJIZ8 スレのテンプレにRubyの話を控える(というかほぼ無くす)よう追記しない?
637デフォルトの名無しさん
2021/01/05(火) 16:54:38.25ID:G+6noEPp638デフォルトの名無しさん
2021/01/05(火) 17:19:13.55ID:2z9IJIZ8639デフォルトの名無しさん
2021/01/05(火) 17:48:43.98ID:psakH13p 半分シェルスクリプトの質問なんだからスレチでもなくない?
ワイはだるいから答えませんが...
ワイはだるいから答えませんが...
640デフォルトの名無しさん
2021/01/05(火) 17:55:47.46ID:DKe92MJE >>635
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
find * -maxdepth 0 -type d -printf "%f, " | sed 's/, $/\n/'
27文字差
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'
find * -maxdepth 0 -type d -printf "%f, " | sed 's/, $/\n/'
27文字差
641デフォルトの名無しさん
2021/01/05(火) 18:05:14.30ID:F/xhjvIl へー、-printf ねえ...
642デフォルトの名無しさん
2021/01/05(火) 18:07:31.79ID:aNkjNIb3 シェルスクリプトが苦手な人が
難しくなったら他言語で書き直したほうがいいってよく言ってるけど
同じ処理を他言語で書き直すとたいていシェルスクリプトより長くなるんだよなw
難しくなったら他言語で書き直したほうがいいってよく言ってるけど
同じ処理を他言語で書き直すとたいていシェルスクリプトより長くなるんだよなw
643デフォルトの名無しさん
2021/01/05(火) 18:45:22.40ID:PtcuBhf4644デフォルトの名無しさん
2021/01/05(火) 18:55:32.13ID:PtcuBhf4645デフォルトの名無しさん
2021/01/05(火) 19:06:42.36ID:jvx2si/E ルビキチもポジキチも元気いいなここは
仕事ないのか?
仕事ないのか?
646デフォルトの名無しさん
2021/01/05(火) 19:09:44.19ID:PtcuBhf4 ルビキチはしばらく見ないなw
ルビキチに悪影響されての ID:2z9IJIZ8 の流れがちょっとアレだったな
ルビキチに悪影響されての ID:2z9IJIZ8 の流れがちょっとアレだったな
647デフォルトの名無しさん
2021/01/05(火) 19:20:26.75ID:DKe92MJE >>635
find * -type d -prune | paste -sd, | sed 's/,/, /g'
find * -type d -prune | paste -sd, | sed 's/,/, /g'
648デフォルトの名無しさん
2021/01/05(火) 20:34:41.59ID:Wb+d8sf0649デフォルトの名無しさん
2021/01/05(火) 21:40:03.20ID:hjkGjz+Y650デフォルトの名無しさん
2021/01/06(水) 11:24:52.43ID:8PExJP/x >>635
\ls -md */ | sed 's:/::g'
\ls -md */ | sed 's:/::g'
651デフォルトの名無しさん
2021/01/06(水) 12:16:54.19ID:mYe0Yhh2 >>650
こんなオプションあったんだな
こんなオプションあったんだな
652デフォルトの名無しさん
2021/01/06(水) 12:42:11.33ID:m96KWhfY653デフォルトの名無しさん
2021/01/06(水) 18:32:25.02ID:BIuq+YWk POSIX 注意報発令
654デフォルトの名無しさん
2021/01/06(水) 20:25:24.32ID:Y7FOu5Ta POSIXじゃないからダメです
655デフォルトの名無しさん
2021/01/06(水) 20:47:11.09ID:HZIFnr+X つーか俺は誰かと違ってPOSIXじゃないからだめなんて言ってないんだけどな
POSIXシェルではどうやればいいかって話をしてるだけで、ウェブアプリとか
シェルスクリプトには向かない作業にRubyやPythonなどの他の言語を使うのは当たり前
もちろんawkも使って構わないが、ただしそれはawk言語であってシェルスクリプトではないとは言うけどなw
何十年も動かしたいプログラムに、何十年も変化しない言語を使うのはまだ理解できるが
そもそも何十年も動かしたいという顧客の要求がなく、むしろ新しい機能の追加や修正を
行い続けるようなものに開発しづらいシェルスクリプトを使うのは馬鹿げてる
POSIXシェルではどうやればいいかって話をしてるだけで、ウェブアプリとか
シェルスクリプトには向かない作業にRubyやPythonなどの他の言語を使うのは当たり前
もちろんawkも使って構わないが、ただしそれはawk言語であってシェルスクリプトではないとは言うけどなw
何十年も動かしたいプログラムに、何十年も変化しない言語を使うのはまだ理解できるが
そもそも何十年も動かしたいという顧客の要求がなく、むしろ新しい機能の追加や修正を
行い続けるようなものに開発しづらいシェルスクリプトを使うのは馬鹿げてる
656デフォルトの名無しさん
2021/01/06(水) 21:16:29.90ID:D/BvDb1X っていうか,
「PythonやRubyはPOSIX Cで作られてるからPOSIX!」
っていう理論,いや1億歩譲ってそれを認めたとして,
このスレのタイトルを1億回読み直してほしいw
つまり結局,このスレで「POSIXが〜」と限定した場合に言及すべき範囲は
POSIXが(唯一)定めているShell Command Languageおよび(Shell) Utilitiyなんだよな。
「PythonやRubyはPOSIX Cで作られてるからPOSIX!」
っていう理論,いや1億歩譲ってそれを認めたとして,
このスレのタイトルを1億回読み直してほしいw
つまり結局,このスレで「POSIXが〜」と限定した場合に言及すべき範囲は
POSIXが(唯一)定めているShell Command Languageおよび(Shell) Utilitiyなんだよな。
657デフォルトの名無しさん
2021/01/06(水) 22:10:20.61ID:hZlCYb+O > 「PythonやRubyはPOSIX Cで作られてるからPOSIX!」
そんな主張してないぞ
POSIX原理主義がPOSIXシェルスクリプトをメインに開発する!
→でも○○無理じゃん
→シェルスクリプトで書くのは必須じゃない。交換可能可能性があれば使ってもOK!
→(交換可能可能性とか後付作っただろ・・・)
その理屈だと、C言語は交換可能性があるからOKだとして、
C言語で誰かがが作った(例えばユニケージの)独自コマンドは交換可能性がないからNGですよね?
そしてPythonやRubyもJythonやJRubyといった交換可能性があるからPOSIXじゃなくてもOKですね
こういう話ね
そんな主張してないぞ
POSIX原理主義がPOSIXシェルスクリプトをメインに開発する!
→でも○○無理じゃん
→シェルスクリプトで書くのは必須じゃない。交換可能可能性があれば使ってもOK!
→(交換可能可能性とか後付作っただろ・・・)
その理屈だと、C言語は交換可能性があるからOKだとして、
C言語で誰かがが作った(例えばユニケージの)独自コマンドは交換可能性がないからNGですよね?
そしてPythonやRubyもJythonやJRubyといった交換可能性があるからPOSIXじゃなくてもOKですね
こういう話ね
658デフォルトの名無しさん
2021/01/07(木) 00:13:36.72ID:X7rGsxbJ659デフォルトの名無しさん
2021/01/11(月) 01:02:14.08ID:Nxf8SjHi それで標準ライブラリは極力使わないって話にどうしてなるのか
意味不明なのは変わらないな
意味不明なのは変わらないな
660デフォルトの名無しさん
2021/01/11(月) 01:04:15.45ID:Nxf8SjHi 誤爆
661デフォルトの名無しさん
2021/01/11(月) 12:59:18.59ID:MB0taG6M どんな環境でも動くものを作れるここの先輩方は
LinuxだけでなくMacも込で動くように作られますか?
LinuxだけでなくMacも込で動くように作られますか?
662デフォルトの名無しさん
2021/01/11(月) 14:08:49.23ID:4YPmzemp LinuxでもMacでも動かしたくなるようなもので
普通に作れるようなものであれば作ってるよ
普通に作れないものっていうのは
例えば、systemdを使うものとかファイアウォール設定を変えるとか
Linuxの環境じゃないと意味がないようなもののことね
普通に作れるようなものであれば作ってるよ
普通に作れないものっていうのは
例えば、systemdを使うものとかファイアウォール設定を変えるとか
Linuxの環境じゃないと意味がないようなもののことね
663デフォルトの名無しさん
2021/01/11(月) 20:09:51.00ID:1GKY+oky >>661
ポジキチではないけど,
MacはUNIX v7に準拠してるし,
Linuxは正式に準拠してはいないけどほぼPOSIXに従ってるから,
POSIXの範囲でシェルスクリプトを書いておけば
MacでもLinuxでも動く。
まあそれに「意味があるのか」というのは別の話。
(Goプログラマが「Goで書けどこでも動く!」とか言ってるのと
似たようなもん)
ポジキチではないけど,
MacはUNIX v7に準拠してるし,
Linuxは正式に準拠してはいないけどほぼPOSIXに従ってるから,
POSIXの範囲でシェルスクリプトを書いておけば
MacでもLinuxでも動く。
まあそれに「意味があるのか」というのは別の話。
(Goプログラマが「Goで書けどこでも動く!」とか言ってるのと
似たようなもん)
664デフォルトの名無しさん
2021/01/11(月) 20:36:44.96ID:3OvUQiSB ここに書き込む人は大概Linux前提でGNUのツールが前提になってるから
MacにもGNUのツールをどんどん入れれば大丈夫と言う考え方はある
逆に言えばGNU原理主義なのかもしれんがw
MacにもGNUのツールをどんどん入れれば大丈夫と言う考え方はある
逆に言えばGNU原理主義なのかもしれんがw
665デフォルトの名無しさん
2021/01/11(月) 20:36:59.01ID:k6EkwuyV どれだけ意味があるかって、複数のOS使ってるなら意味有るでしょ?
666デフォルトの名無しさん
2021/01/11(月) 20:39:06.55ID:k6EkwuyV >>664
それはそうなんだけど、Macの場合、結局、フリーソフト使って実現なんだよね
ああ、GNUがフリーソフトだろっていう話じゃなくて
macOSが公式に対応してるわけじゃないって意味ね。
macOSが公式に対応してないからOSのアップデートで動かなかったりする
それはそうなんだけど、Macの場合、結局、フリーソフト使って実現なんだよね
ああ、GNUがフリーソフトだろっていう話じゃなくて
macOSが公式に対応してるわけじゃないって意味ね。
macOSが公式に対応してないからOSのアップデートで動かなかったりする
667デフォルトの名無しさん
2021/01/11(月) 21:18:03.54ID:iHOPiDVy668デフォルトの名無しさん
2021/01/11(月) 22:14:22.97ID:TgqHKx3G >>664
macosってコードベース的には90%くらいfreebsdのはずだが、gnuは徹底排除抹殺思想のfreebsdとしてどんな気持ちなんだろ…
もちろんライセンス的にクリアしてるんだろうが
まあmacは持ってないんだが(シェル含め)スクリプト写経用に人からコピーさせてもらった、まんじゃろ、とか言ってた頃?
blobじゃないファイルのコメントにfreebsd記載率9割
macosってコードベース的には90%くらいfreebsdのはずだが、gnuは徹底排除抹殺思想のfreebsdとしてどんな気持ちなんだろ…
もちろんライセンス的にクリアしてるんだろうが
まあmacは持ってないんだが(シェル含め)スクリプト写経用に人からコピーさせてもらった、まんじゃろ、とか言ってた頃?
blobじゃないファイルのコメントにfreebsd記載率9割
669デフォルトの名無しさん
2021/01/11(月) 22:19:33.52ID:TgqHKx3G というかbsd使いは規格とか気にしてない人が多そう(尖った人という偏見)
そもそもコミュニティが小さいので気にするまでもないってのもある
規格を異様に気にするのは、環境が千差万別なlinuxユーザでしょ
そもそもコミュニティが小さいので気にするまでもないってのもある
規格を異様に気にするのは、環境が千差万別なlinuxユーザでしょ
670デフォルトの名無しさん
2021/01/12(火) 02:54:46.84ID:hnOFIrYF >macosってコードベース的には90%くらいfreebsdのはず
>まあmacは持ってないんだが
他も無知ゆえの妄想ばかりだな
mac持ってなくても調べればわかるのを調べもしないでのでタチが悪い無知
>まあmacは持ってないんだが
他も無知ゆえの妄想ばかりだな
mac持ってなくても調べればわかるのを調べもしないでのでタチが悪い無知
671デフォルトの名無しさん
2021/01/12(火) 03:08:52.49ID:TSfQlcFo usrとかbinとかgrep(と-v)してみりゃそうだって分かるだろ、バイナリ部分は公開してない以上分からんとしか言えん
672デフォルトの名無しさん
2021/01/12(火) 03:23:26.83ID:hnOFIrYF 「コードベース」とか範囲が広すぎだろう。バイナリ部分ってなんやねん
単にコマンド(大体はPOSIXにあるコマンド)って話なのか?
単にコマンド(大体はPOSIXにあるコマンド)って話なのか?
673デフォルトの名無しさん
2021/01/12(火) 04:20:31.55ID:4wlpPo5A674デフォルトの名無しさん
2021/01/12(火) 05:28:57.54ID:hnOFIrYF お前の独特の言語言葉なんて知らんわ
usr bin にあるバイナリを調べろと言ってるのか。ちょっとは自分で調べてあんなこと言ってるのかと思ったら、全くなのな
てことは単にコマンドのことを言ってるだけか。コードベースwとか独特の言葉を使うなよ
それなりにオープンソースで公開されてるんだから少しは調べようとしろよ、語るwなら
妄想で語るだけのに さすが信者 とか言われたくないわw
usr bin にあるバイナリを調べろと言ってるのか。ちょっとは自分で調べてあんなこと言ってるのかと思ったら、全くなのな
てことは単にコマンドのことを言ってるだけか。コードベースwとか独特の言葉を使うなよ
それなりにオープンソースで公開されてるんだから少しは調べようとしろよ、語るwなら
妄想で語るだけのに さすが信者 とか言われたくないわw
675デフォルトの名無しさん
2021/01/12(火) 06:11:57.28ID:eUCbLjlC 勝手に
les, bus - ATM LAN Emulation service demons
というのが入っているけど、何これ
les, bus - ATM LAN Emulation service demons
というのが入っているけど、何これ
676デフォルトの名無しさん
2021/01/12(火) 23:03:02.65ID:ESpMy2tV >>675
Virus🦠
Virus🦠
677デフォルトの名無しさん
2021/01/14(木) 09:56:27.47ID:s2FPIYdL なんか面白いテクニックが某所で紹介されてるな
#!/usr/bin/echo This script is supposed to be sourced like this: .
まあ、macだと/bin/echoだったりするわけだが
#!/usr/bin/echo This script is supposed to be sourced like this: .
まあ、macだと/bin/echoだったりするわけだが
678デフォルトの名無しさん
2021/01/14(木) 12:42:21.34ID:tanA3fVT a="A" b="B" みたいな文字列を渡したら
a変数にA、b変数のBみたいに代入する方法ないかな?
ただし脆弱性が怖いんで、 a="$(cmd)" みたいなものは
そのままa変数に$(cmd)という文字列が入る
そしてスペースとかダブルクォート入れたかったら
a='A " A' とか a="A \" A" とかできるようにしたい
a変数にA、b変数のBみたいに代入する方法ないかな?
ただし脆弱性が怖いんで、 a="$(cmd)" みたいなものは
そのままa変数に$(cmd)という文字列が入る
そしてスペースとかダブルクォート入れたかったら
a='A " A' とか a="A \" A" とかできるようにしたい
679デフォルトの名無しさん
2021/01/14(木) 13:23:35.55ID:bf8JVc72 ムチャ言ってんな。w
680デフォルトの名無しさん
2021/01/14(木) 14:17:26.70ID:83515Abn681デフォルトの名無しさん
2021/01/14(木) 14:19:03.84ID:83515Abn ちなみに発言は↓ここ
https://github.com/koalaman/shellcheck/issues/2110
当人の発言によれば,
#!/bin/echoという「シバン」にすることに特に意味はないようなので
「単独で実行されたとき」を判定できればシバンじゃなくてもいい。
それはps(1)コマンドを使った「普通の」方法で達成可能。
まあ「普通」が嫌なんだろうなw
https://github.com/koalaman/shellcheck/issues/2110
当人の発言によれば,
#!/bin/echoという「シバン」にすることに特に意味はないようなので
「単独で実行されたとき」を判定できればシバンじゃなくてもいい。
それはps(1)コマンドを使った「普通の」方法で達成可能。
まあ「普通」が嫌なんだろうなw
682デフォルトの名無しさん
2021/01/14(木) 14:24:12.88ID:bf8JVc72 >>680
それだとsourceしたときにechoされちゃうやろ。
それだとsourceしたときにechoされちゃうやろ。
683デフォルトの名無しさん
2021/01/14(木) 15:11:50.55ID:fZvBFJEs どう面白いの?
684デフォルトの名無しさん
2021/01/14(木) 15:12:47.48ID:tanA3fVT685デフォルトの名無しさん
2021/01/14(木) 16:23:35.27ID:83515Abn 「ファイル名を変える」より「/usr/bin/echoがない」ことの方が致命的だと思うんだけどな。
まあ当人がそう思わないんなら(もしかして認識さえしてない?),俺はもう何も言わない。
まあ当人がそう思わないんなら(もしかして認識さえしてない?),俺はもう何も言わない。
686デフォルトの名無しさん
2021/01/14(木) 16:36:57.62ID:tanA3fVT /usr/bin/echoがないならエラーで落ちるだろ
実行しようとした時に、実行させないのが
目的なんだから、目的は達成できてる
実行しようとした時に、実行させないのが
目的なんだから、目的は達成できてる
687デフォルトの名無しさん
2021/01/14(木) 18:00:29.32ID:83515Abn688デフォルトの名無しさん
2021/01/14(木) 20:28:27.29ID:bf8JVc72689デフォルトの名無しさん
2021/01/15(金) 01:15:51.82ID:YhT5m5Ec 実用できない癖に実用性は求めるのか…
じゃあファイル名に依存しててもいいじゃん……
じゃあファイル名に依存しててもいいじゃん……
690デフォルトの名無しさん
2021/01/15(金) 07:41:49.61ID:uPQddvH2 実用っていうのは、echoするって意味だろ
ぱっとみてechoできなければ意味ないじゃんって
勘違いしたんだろうけど、echoするのが目的じゃないんだから実用性はある
なんのためにあるのか少しは考えたら?
ぱっとみてechoできなければ意味ないじゃんって
勘違いしたんだろうけど、echoするのが目的じゃないんだから実用性はある
なんのためにあるのか少しは考えたら?
691デフォルトの名無しさん
2021/01/15(金) 07:57:49.36ID:XkGM5v4E エコースクリプトという新ジャンルを思い付いたけど大してする事なかった
692デフォルトの名無しさん
2021/01/15(金) 07:58:08.43ID:79YZFf86 ヘマ避けならそもそも実行権限つけなきゃいいだけじゃね……
693デフォルトの名無しさん
2021/01/18(月) 18:04:21.25ID:Ge+kcekj シェルスクリプトをググらず書けるようになったやっぱ言語は覚えた方がいいのか
perlとか正規表現の指定しか知らんしまだsedやawkの方が出番あるわ
perlとか正規表現の指定しか知らんしまだsedやawkの方が出番あるわ
694デフォルトの名無しさん
2021/01/18(月) 18:36:52.77ID:ZtDZqP0p まあ書けないよりは書けたほうがいいのは確かだが、
シェルスクリプトの場合、すでにある便利なコマンドを組み合わせるには
最速の方法なので、その言語を覚えていたとしても使えるようになったほうが良いと思うよ
シェルスクリプトの変わりにプログラム言語を使うと
コードが冗長になって、やりたい作業をささっとこなせない
コマンドの再発明をすることになる
シェルスクリプトの場合、すでにある便利なコマンドを組み合わせるには
最速の方法なので、その言語を覚えていたとしても使えるようになったほうが良いと思うよ
シェルスクリプトの変わりにプログラム言語を使うと
コードが冗長になって、やりたい作業をささっとこなせない
コマンドの再発明をすることになる
695デフォルトの名無しさん
2021/01/18(月) 20:37:19.00ID:daUvLGrG696デフォルトの名無しさん
2021/01/18(月) 21:36:36.94ID:ZtDZqP0p Perlは互換性がなー、と言いたいところだけど
その互換性って主にライブラリの話
awkにはライブラリがない。
じゃあライブラリ無しで比べてみよう
ライブラリがないawkと
ライブラリを使わないPerl
どちらが機能が上で互換性があるだろうか?
おそらくPerlの方が機能が上で互換性も有るだろうな
Perlがawkに劣るのは標準で入ってない環境に当たる可能性が少し高いってことぐらい
その互換性って主にライブラリの話
awkにはライブラリがない。
じゃあライブラリ無しで比べてみよう
ライブラリがないawkと
ライブラリを使わないPerl
どちらが機能が上で互換性があるだろうか?
おそらくPerlの方が機能が上で互換性も有るだろうな
Perlがawkに劣るのは標準で入ってない環境に当たる可能性が少し高いってことぐらい
697デフォルトの名無しさん
2021/01/18(月) 23:52:13.21ID:AsdWc5Bm ifはfi
caseはesac
など、何で最後の単語が逆になってるんでしょうか?
caseはesac
など、何で最後の単語が逆になってるんでしょうか?
698デフォルトの名無しさん
2021/01/19(火) 00:26:51.55ID:kVTxVY5X parlはawkやsed風に書けるけどあくまで似せてるだけで細部では違うから戸惑ったぞ
awkとperlでは添字がずれるし
sedの/foo/!や/foo/,/bar/はperlじゃできないからな
awkとperlでは添字がずれるし
sedの/foo/!や/foo/,/bar/はperlじゃできないからな
699デフォルトの名無しさん
2021/01/19(火) 00:46:49.98ID:CdqMY/2C awkはテキスト処理に特化した言語だろ
そもそも土俵が違う
そもそも土俵が違う
700デフォルトの名無しさん
2021/01/19(火) 01:53:49.03ID:c4o9VOno >>696
もう答えが出とるやん。w
ワイもそのとおりやと思う。
違うとするなら、昔のサーバーよりも、最近のコンテナのほうがPerlを外したくなるやろな、てところ。
意外とsedの価値が上がってる気が。
もう答えが出とるやん。w
ワイもそのとおりやと思う。
違うとするなら、昔のサーバーよりも、最近のコンテナのほうがPerlを外したくなるやろな、てところ。
意外とsedの価値が上がってる気が。
701デフォルトの名無しさん
2021/01/19(火) 01:55:12.82ID:c4o9VOno ちなみに、互換性ならむしろPerlのほうが?
環境に依存しないワンライナーを書くならsedよりperlの方がいい - Qiita
https://qiita.com/takc923/items/8654d69008e921c9c9fb
環境に依存しないワンライナーを書くならsedよりperlの方がいい - Qiita
https://qiita.com/takc923/items/8654d69008e921c9c9fb
702デフォルトの名無しさん
2021/01/19(火) 03:26:45.46ID:NDWgKi1/ >>697
When keywords are used, generally the reversed character sequence of the introducing keyword is used for terminating the enclosure
っていうだけ、terminating the enclosure のために reversed character sequence でいいんじゃねっていう発想なだけだろう
When keywords are used, generally the reversed character sequence of the introducing keyword is used for terminating the enclosure
っていうだけ、terminating the enclosure のために reversed character sequence でいいんじゃねっていう発想なだけだろう
703デフォルトの名無しさん
2021/01/19(火) 03:59:18.00ID:DHFXGQbg どの道具を使うべきかは解決すべき問題が与えられた時点で決まる
どれが優れているかなんて一般論で言うのは無意味だろ
どれが優れているかなんて一般論で言うのは無意味だろ
704デフォルトの名無しさん
2021/01/19(火) 04:17:07.83ID:EgWSSFeL doブロックの終了はなんでodじゃないんだろう。
odコマンドとぶつかるから?
odコマンドとぶつかるから?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国大使館、ついにXで尖閣諸島が領土と主張「何を言おうと釣魚島が中国に属する」に反発続々 [パンナ・コッタ★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★2 [ぐれ★]
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 ★2 [蚤の市★]
- 【野球】「地上波で放送しないWBC」は2軍選手中心で十分! 今こそネットフリックスに『ノー』を突き付けてほしい 江本氏が提言 [冬月記者★]
- 国民・榛葉氏「中国焦ってる」 ★2 [ぐれ★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 自民党ベテラン「中国側の対応は当然」 [819729701]
- 🐻埼玉日高市の西武池袋線武蔵横田駅から100m付近で🐻発見、柿の実が食べられる。5千人規模の参加イベントの一部変更 [737440712]
- 【実況】博衣こよりのえちえちゼルダの伝説 ムジュラの仮面🧪
- (´・ω・`)VIPしかやることない
- 【高市悲報】スーパーさん、物価が上がって惣菜とかの値段がセブンイレブンとかコンビニと変わらなくなるwwwwwwwwwwww [257926174]
- 高市早苗、車のナンバーに37-77を愛用しているのが中国人に見つかる。盧溝橋事件の1937年7月7日を記念してか [624898991]
