âAIãã©ã使ããâã§ã¯ãªãâä½ãæ¹åãããâTRENDOãèªããAIã¨ã¼ã¸ã§ã³ãæä»£ã®æ¬è³ª 2025å¹´12æ26æ¥ 6:30
第7åã®ä»åã¯ãBashã®ä»çµã¿ã解説ããå±¥æ´ç®¡çãããã³ãããã«ã¹ã¿ãã¤ãºãã¦CLIç°å¢ãåä¸ããæ¹æ³ã解説ãã¾ãã ã¯ããã« ã©ã®ãããªã¢ããªã«ããå人ç¨ã®è¨å®ã¨ãããã®ãåå¨ãã¾ããä¾ãã°ãWebãã©ã¦ã¶ã¯ãã©ã³ããã«ã©ã¼ãã¼ããã¿ãã®ç´°ããæåãªã©ãå人ã®å¥½ã¿ã«å¿ãã¦ã«ã¹ã¿ãã¤ãºã§ãã¾ããLinuxã§ä½¿ãããæ§ã ãªãã¼ã«ãããããä¾ã«æ¼ãããéå¸¸ã«æè»ãªã«ã¹ã¿ãã¤ãºãæ©è½æ¡å¼µãå¯è½ã§ããæåãªããã¹ãã¨ãã£ã¿ã§ããVimãEmacsãªã©ããã®ä»£è¡¨æ ¼ã§ããã®ã«ã¹ã¿ãã¤ãºã®æè»ãã¨å¥¥ã®æ·±ãã¯ãæ³åãçµ¶ãããã®ãããã¾ã*1ã *1: Emacsã¯ä¸è¦ããã¹ãã¨ãã£ã¿ã®ããã«è¦ãã¾ããããã®å®ä½ã¯Emacs Lispè¨èªã®å®è¡ç°å¢ã§ããEmacs Lispè¨èªã§å®è£ å¯è½ãªããããæ©è½ãã¨ãã£ã¿ä¸ã§å®è¡ã§ãããããç¡éã®æ¡å¼µæ§ãæã£ã¦ãã¾ããããã¦Linuxã使ãã¯ãããã°ããã®ã¦ã¼ã¶ã¼ã¯
ã¯ããã« [ $? -eq 0 ] ã [ $? -ne 0 ] ã¯åé·ã§ãã¡ãªããããããã¾ãããé常ã«å¤ãè¦ãããæ¸ãæ¹ã§ããã1979 å¹´ã« Bourne ã·ã§ã«ãåºãå ¬éãããæãããã®ãããªã³ã¼ãã¯å¿ è¦ããã¾ããã§ãããå®éã«å½æã¯ãã®ãããªæ¸ãæ¹ã¯ä½¿ããã¦ãããããã®ãããªæ¸ãæ¹ãããªããã°ãªããªãã£ãæ´å²çãªçµç·¯ãªã©ã¯ããã¾ãããããã¯ãªããåºã¾ã£ã¦ãã¾ã£ãè¯ããªãæ¸ãæ¹ã§ãã åªããã³ã¼ãã¨ã¯ç¡é§ããªãã·ã³ãã«ãªã³ã¼ãã§ããä¸å¯§ãªã³ã¼ãã¨ã¯ç¡é§ãªå¦çãæ¸ããã¨ã§ã¯ããã¾ããã[ $? -eq 0 ] ã [ $? -ne 0 ] ã¯æ¸ããªãã»ãããç°¡åã§èªã¿ããããããããããªãã¾ããåªããææ³ãæã¤ã·ã§ã«ã¯çãã³ã¼ãã§æ£ããåä½ããè¯ãæ¸ãæ¹ã¯æçã®æéã¨æå°ã®æéã§ç®çãéæãããã¨ãã§ãã¾ããã³ãã³ãã®ã¨ã©ã¼å¦çãç°¡æ½ã«æ¸ããã¨ãã§ããã®ããã·ã§ã«è¨èªã®åªãã¦ããç¹ã®
ã·ã§ã«ã¹ã¯ãªããã§lsããã¤ãã§ã¤ãªãã®ã¯ãªãæªãã®ã ï½ ShellCheck: SC2010, SC2011, SC2012 ã¨ãã¡ã¤ã«åæ¹è¡åé¡ShellScriptUNIXshellã·ã§ã«è¸POSIX ã¯ããã« ã·ã§ã«ã¹ã¯ãªããã§ ls ã³ãã³ãã®åºåçµæï¼ãã¡ã¤ã«åä¸è¦§ï¼ããã¤ãã§ä»ã®ã³ãã³ãã«æ¸¡ãã¦å¦çããã®ã¯æ¨å¥¨ããã¾ãããls ã³ãã³ãã使ã£ãã³ã¼ãã ShellCheck ã§æ¤æ»ããã¨ããããåé¡ãããã¨è¦åã表示ãããã§ããããls ã使ããªã¨ããææèªä½ã«ã¯è³æãªã®ã§ãã SC2010ãSC2011ãSC2012 ã«æ¸ãã¦ããçç±ã«ã¤ãã¦ã¯æ£ãã説æãããã¦ããªãã¨æã£ã¦ãã¾ãããã®è¨äºã§ã¯ãªã ls ã®åºåçµæãä»ã®ã³ãã³ãã«ãã¤ãã§æ¸¡ãã®ãæªãã®ããls ã使ããã«å®ç¾ããã«ã¯ã©ããããè¯ãã®ãã解説ãããã¨æãã¾ããä¸ã¤è£è¶³ããã¦ããã¨ããã®åé¡ã¯ CLI ã³ã
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ã¯ããã« ãããã¾ã 30 å¹´ãçµã¦ã°å¤ããªãã¾ããããå ¥éUNIXã·ã§ã«ããã°ã©ãã³ã°ãã¯ä»ãã·ã§ã«ã¹ã¯ãªããã«é¢ãããªã¹ã¹ã¡ã®æ¬ã¨ãã¦ååãæããåèã§ããããããã®æ¬ã¯å¤ãæ¬ã§ããPOSIX ã§ã·ã§ã«ãæ¨æºåããã以åã®æ¬ã§ãå 容ãã夿ããã¨ãããã 1990 å¹´ãããã®å¸¸èã«åºã¥ãã¦æ¸ããã¦ãã¾ãã å¤ãããåèã«ãªããªãã¨è¨ãã¤ããã¯ããã¾ããããããã©ãã ãåªããæ¬ã§ãæéã®æµãã«ã¯åã¦ã¾ãããè¯æ¸ã§ããã¨æã£ã¦ãããããããå¤ããªã£ã¦ãã¾ã£ãå 容ã¯è¨æ£ããå¿ è¦ãããã¨èãã¦ãã¾ãããªãã·ã§ã«ã¹ã¯ãªããã«é¢ããå¤ãæ¬ã¯ãã
ã¡ãªã¿ã« [ ã®å¤é¨ã³ãã³ãçã /usr/bin/ 㨠/bin/ ã®ä¸¡æ¹ã«ããã®ã¯ Ubuntu 20.04 ã§ã¯ /bin ã /usr/bin ã¸ã®ã·ã³ããªãã¯ãªã³ã¯ã«ãªã£ã¦ããããã§ããUbuntu ã Solaris 10ã11 ãªã©ã§ã¯ï¼ãã£ã¹ã¯ãµã¤ãºã大ããä»ã§ã¯åããçç±ããªãããï¼ã¨çµ±åããã¦ãã¾ããDebian ã§ã¯çµ±åããã¦ãªãä¸ã« [ 㯠/usr/bin 以ä¸ã«ãã£ãããã¾ããå ã /usr/bin ã¯å¿ è¦æ§ãä½ãã³ãã³ããç½®ãå ´æãªã®ã§ãããã« [ ãããã¨ããã®ã¯é¢ç½ãã§ããã [ ã /bin/[ ã ã£ãã®ã¯ãã¤ã¾ã§ï¼ ãã® /bin/[ ã使ãããªããªã£ãã®ã¯ä»ãã 40 å¹´åã® Unix System III (1981) ã«æè¼ããã Bourne ã·ã§ã«ããã®ããã§ãã The Traditional Bourne Shell Family ãã
ã¯ããã« ã·ã§ã«ã¹ã¯ãªããã§ä¸¦åå¦çãè¡ãå ´åãä¸è¬çã«ã¯ GNU Parallel ã xargs ã使ãã®ã§ã¯ãªããã¨æãã¾ããããã GNU Parallel ã¯ãã®åã®éã GNU ãæä¾ãã¦ãããã¼ã«ã§ãã xargs ã䏦忰ãæå®ãã -P ãªãã·ã§ã³ã¯ POSIX ã§è¦å®ããã¦ãªãã®ã§åä½ããç°å¢ãéããã¾ããã¾ãããããã¯å¤é¨ã³ãã³ãã§ããããã·ã§ã«é¢æ°ãå¼ã³åºããã¨ãåºæ¥ãªãã¨ããå¶éãããã¾ãããããã·ã§ã«ã¹ã¯ãªããã®ã¿ã§å®è£ ãããã¨ã§ãç°å¢ä¾åãããã¨ç¡ã並åå¦çãå®ç¾ãããã¨ãåºæ¥ã¾ãã è£è¶³ ç¶ç·¨è¨äºãæ¸ãã¾ããã POSIXæºæ ã·ã§ã«ã¹ã¯ãªããã§find -print0ãxargs -0ã使ããã«ã¹ãã¼ã¹ãæ¹è¡ãå«ã¾ãããã¡ã¤ã«åãå¦çãã ç¶ã»POSIXæºæ ã·ã§ã«ã¹ã¯ãªããã§ãã«ãã³ã¢ã®è½åãæ´»ç¨ãã並åå¦çã®å®è£ ï¼ååä»ããã¤ãçï¼ å®è£ å®ã¯æå¤§ä¸¦åæ°ã®
bash ã®ã·ã§ã«ã¹ã¯ãªãããæ¸ãã¨ãã«ããã¤ãè³æ»ã§ä»¥ä¸ããã£ã¦ããã(ååãæ´åãã¦ããããã®ãã³ãããã¦ãã) ã¨ãã£ã¿ãªã CI ã§ shellcheck ãã¾ãã set -euxo pipefail ã¨åé ã«æ¸ã ãããªæã #!/bin/bash set -euxo pipefail ãã¤ã¾ã§ãã³ããã§ã¯ãããã«ã¢ã¬ãªã®ã§ãæå³ã調ã¹ãã¡ã¢ã shellcheck koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts ã¤ã±ã¦ãªãæ¸ãæ¹ã«è¦åãåºãã¦ããã ããããã®è¦åã«ã¯ã¨ã©ã¼ã³ã¼ãå²ãæ¯ããã¦ãã¦ã¨ã¦ãä¾¿å© ã¨ã©ã¼ã³ã¼ããã¨ã«æ£èª¤ä¾ãè§£èª¬ãæ¸ããã¦ããã®ã§ãããããã SC1000 ã®ä¾ CI ãããã ããã¨ãã£ã¿ã®ãã©ã°ã¤ã³ãå å® ãã¦ããã®ã§ã¨ããããå ¥ãã¦ããã¨è¯ã set
ããã«ã¡ã¯ã åãããªããã¨ã«åºä¼ã£ãããã¯ã¯ã¯ã¯ãã inteeã® ä¸é ã§ãã ä¼ç¤¾ããæ°åMacBook Proãæ¯çµ¦ãã¦è²°ã£ãã®ã§ã ã¿ã¼ããã«ã®ããã³ãããã«ã¹ã¿ãã¤ãºãã話ããããã¨æãã¾ãï¼ Starshipã¨ã¯ Starshipã¨ã¯ãã¿ã¼ããã«ã®ããã³ãããã«ã¹ã¿ãã¤ãºãããã©ã°ã¤ã³ã§ãã æ¥æ¬èªç¿»è¨³ãå å®ãã¦ããã坿ããã¶ã¤ã³ã«æãã¦ãå°å ¥ã決ãã¾ããï¼ Starshipã®ç¹å¾´ Rustè¨èªã§éçºããã¦ãããåä½ãé«é è¨å®ãã¡ã¤ã«ã§ç´°ããã«ã¹ã¿ãã¤ãºå¯è½ bash / Zsh / Fish ã§ä½¿ç¨å¯è½ Git管çã®ããã¸ã§ã¯ãã§ããã°ããã©ã³ãåãè¨èªãã¼ã¸ã§ã³çã表示å¯è½ ããããªã«ã©ã¼ã¹ãã¼ã ã»çµµæåãã«ã¯ã¤ã¤ï¼è¶ éè¦ï¼ å人çã«è¾ãéçºæã«ã¨ã¢ãæ°æã¡ã«ãªããªãããéçºã§ããä½é¨ãéè¦è¦ãã¦ããã¾ãðââï¸ ã¤ã³ã¹ãã¼ã« ä»åã¯Macã§å°å ¥ããçºãHomebr
// ð https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/global-settings { "$schema": "https://aka.ms/terminal-profiles-schema", "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "theme": "dark", "copyOnSelect": false, "copyFormatting": false, // ããã«ã¯ãªãã¯ã§ãã¹ã丸ãã¨é¸æããããã "wordDelimiters": " ", // ð https://docs.microsoft.com/ja-jp/windows/terminal/customize-settings/profi
以ä¸ã¯Andrewã«ããè¨äºã101 Bash Commands and Tips for Beginners to Expertsã®æ¥æ¬èªè¨³ã§ãã ä¸é¨ãé¤ããä¸ããé ã«ã³ãã³ããæã£ã¦ç¢ºããããã¨ãã§ããããã«ãªã£ã¦ãã¾ãã èªãã ãã§ã¯ãªããå®éã«æã£ã¦è©¦ãã¦ã¿ããã¨ã§çè§£ãæ©ã¾ããã¨ã§ãããã 101 Bash Commands and Tips for Beginners to Experts ä¸å¹´åã¾ã§ãç§ã¯ãã£ã±ãMacOSã¨Ubuntuã®ãµãã¤ã®OSã§ä½æ¥ããã¦ãã¾ããã 両OSã«ããã¦ãç§ã®ããã©ã«ãã·ã§ã«ã¯bashã§ãã éå»6ã7å¹´ã»ã©bashã§ä»äºããã¦ãããããbashãã©ã®ããã«åä½ããããããç¨åº¦ã¯çè§£ãã¦ããã¤ããã§ãã å¾ã£ã¦ãbashãå§ããã°ããã®äººã«ã¨ã£ã¦ä¸è¬çã§æç¨ãªã³ãã³ãã«ã¤ãã¦ãããã¤ã解説ãã¦ããããã¨æãã¾ãã ã¾ããbashã«ã¤ãã¦ç¥ã£
ãã®è¨äºã®å 容 .bash_profile 㨠.bashrc ã®ä½¿ãåãã®èª¬æã¯ãããããããã§ããã ã©ãã«ãè ã«è½ã¡ãªãã£ãã®ã§ãç§ãªãã«èª¿ã¹ã¦ã¿ã¾ããã ã§ãèªåçã«ã¯ããã§å¿ è¦ååãªçè§£ãã§ããã¨æã£ãã®ã§æç¨¿ã ã¨ããããããã¾ã§çè§£ããã°ãå¾ã¯ãã®é½åº¦å¯¾å¦ãã¦ãããããªã¼ãã¨ã 2018/03/20è¿½è¨ ï¼ãã¨ãã¨åããã¦ï¼ã¤ã®è¨äºã«ããäºå®ã ã£ã ãLinuxã§ã·ã§ã«éã®è¨å®ã®å¼ç¶ããèè¶³ææºè¼ã§ç¢ºèªãããã¨ããè¨äºãæç¨¿ãã¾ããï¼ ãã¡ãã¨åããã¦èªãã§ããã ããã¨å¬ããã§ãã ã¹ã¼ãã¼å¿ãã人ã®ããã®çµè« è¨å®ã¯ãã¹ã¦.bashrcã«æ¸ã ããã§ããããã§ã åä½ç¢ºèªã®ç°å¢ Windows10ã®Hyper-Vä¸ã§åãã¦ããCentOS7ã§åä½ãç¢ºèª CentOS7ã¯ã¤ã³ã¹ãã¼ã«ç´å¾ã®ç¶æ ã§è©¦ãã¦ããã®ã§è¨å®ãã¡ã¤ã«çã¯æ¸ãæãã¦ããªã OSã¤ã³ã¹ãã¼ã«ã®ã°ã«ã¼ãï¼æå°é
Bash ã¯æ´å²ã®ãã代表çãªã³ãã³ãè¨èªã§ãããã¹ãã«ã³ãã³ãã並ã¹ãã ãã§æè»½ã«ã·ã§ã«ã¹ã¯ãªããã¨ãã¦å®è¡ã§ãã¾ãã ã·ã§ã«ã¹ã¯ãªããã¯åºæ¬çã«ã¯ã³ãã³ãã®ç¾ åã§ããã夿°ãæ¡ä»¶åå²ãã«ã¼ãã颿°ãªã©ã®å¶å¾¡æ§æãåãã¦ãããæç¶ãåããã°ã©ãã³ã°è¨èªã¨ãã¦ã®å´é¢ãæã£ã¦ãã¾ããããããæ´»ç¨ããã°ãã·ã§ã«ã¹ã¯ãªããã§ããã°ã©ãã³ã°ãå¯è½ã§ãã ãã¡ãããä¸è¬çãªããã°ã©ãã³ã°è¨èªã¨æ¯ã¹ãã¨æ©è½ã¯éå®çã§ãç¬ç¹ã®ã¯ã»ãè¨æ³ãå¤ããããæè¿ã®è¨èªã«æ £ããäººã¯æ¸æããã¨ãå°ãªãããã¾ããã ããã Bash ãªãã§ã¯ã®å¼·ã¿ãããã¾ããå¤ãã® OS ã§æ¨æºã·ã§ã«ã¨ãã¦ä½¿ããã¦ãããããæ®æ®µã®ã·ã§ã«ã³ãã³ãã並ã¹ãã ãã§åãæè»½ãã¯é常ã«é åçã§ããä¸åº¦ç¿å¾ããã°é·ãå½¹ç«ã¤æè¡ã¨è¨ããã§ãããã ã·ã§ã«ã¹ã¯ãªãããåãªãã³ãã³ãã®éåã¨æãããä¸ã¤ã®ããã°ã©ãã³ã°è¨èªã¨ãã¦æèãã¦æ¸ããã¨ã§ãPy
ã¯ããã« GoogleãããShellã¹ã¿ã¤ã«ã¬ã¤ããå ±æãã¦ããã®ã§ãããã¤ãæ°ã«ãªã£ãç¹ãããã¯ã¢ãããã¾ããã èªåã®Shellã¹ã¿ã¤ã«ã¯ããªãææµãªã®ã§ãèªçã®æå³ãè¾¼ãã¦ã³ã¡ã³ããä½µè¨ãã¾ãã Googleã¹ã¿ã¤ã«ã¬ã¤ãã®å ãã¿ ï¼Python/C++/Java/Rã¨ãã ãã§ãªãdocumentã¬ã¤ããªã©è²ã ããã¾ãï¼ https://github.com/google/styleguide Shellã¹ã¿ã¤ã«ã¬ã¤ã ï¼ä»åã¯ãã¡ãï¼ http://google.github.io/styleguide/shell.xml æ¬å½ã¯äººéããã§ãã¯ããã®ã§ã¯ãªãcpplintã®ããXMLå®ç¾©ãªã®ããã§ãããæ°ã«ããªãæ°ã«ããªãã ï¼è¦ãã¨ããcpplintã¯c++ã ãã ã¨æã£ã¦ã¾ãï¼ commitããã¯ã§shellç³»ã®lintèµ°ãããã£ã¦ããã®ãä»é¢¨ãªã®ããããã¾ããããããã·ãã¤ã
bash ã®ä½¿ãæ¹ãï¼ããè¦ç´ãã·ãªã¼ãº ã·ã§ã«ã¹ã¯ãªããã¯ãããbashã§æ¸ãã¦ãããããbashãåããªãç°å¢ãªãã¦ãªããã ãã bash ã®ç´ããããè¨å·ãæ´å²ççµç·¯ã«ããPOSIXããåããªã©ããã£ã¦ãbashã«ç¹åããè¨äºã£ã¦å°ãªããæççãªã®ã§ãè²ã ã¨èª¿ã¹ããã¨ãåæ§æãã¦ã¾ã¨ãã¦è¨äºã«ãã¾ããã ç§èªèº« [[ / [ ã®éããå ¨ç¶ããããªãã®ã§èª¿ã¹å§ãã¾ããããã®çµæããããç¥è¦ãå¾ãããã®ã§æ¸ããªãã復ç¿ããã¦ãã¾ããã æ°ã¥ãã°ãbash ã®æç§æ¸çãªãã®ã«ãªã£ã¦ãã¾ãã¾ããã ä½ãã®å½¹ã«ç«ã¦ã°ããã¨æã£ã¦è¨äºã®ã¤ã³ããã¯ã¹ãã¾ã¨ãã¦ããã¾ããã¾ã ä¸é¨æ¸ãã¦ãªãã§ãããã®ãã¡æ¸ãã¾ãã ã¯ããã« ã¯ããã« bashã¨POSIX bashãåãç°å¢ zshã¨ã®æ¯è¼ 夿°ã¨é åã¨æ°å¤è¨ç® 夿° é åã®ã¾ã¨ã çµè¾¼ let ã«ããæ°å¤è¨ç®ã¨ã¤ã³ã¯ãªã¡ã³ã 飿³é å(assoc
Qiitaã®æç¨¿è¨äºãçºãã¦ããã¨ããã¾ã«ãããã£ã¨æããããªæç¨¿è¨äºã注ç®ãéãã¦ãããã¨ã«æ°ã¥ããWindowsã®BATãã¡ã¤ã«ãã³ãã³ãããã³ããé¢é£ã®æç¨¿è¨äºããããª1ã¤ã ã Windowsåãã®éçºããã¦ããå ´åã¯ãã¨ãããWindowsãéçºãã©ãããã©ã¼ã ã«ãã¦ãããªãã°ããããWindowsã¯GUIæä½ãä¸å¿ã¨ã¯è¨ã£ã¦ããã³ãã³ãã§ã®æä½ãå¿ è¦ã¨ãªããã¨ãå¤ãã UNIX/Linuxã¦ã¼ã¶ã¼ããããã°ãWindowsã®ã³ãã³ãã¯åä¸è¶³ã¨æãã ãããå®éããã§ã¯ããã®ã ããæããæ³åããã¯ããªããã·ã ããã¤ãããªãã¤ã¬ã¯ããããããforã³ãã³ããªã©ã¯çµæ§ããããªãã¨ãã§ããã æãWindowsãã¡ã¤ã³ãã©ãããã©ã¼ã ã«ãã¦ããé ã¯ã客å ãªã©ã§æ¨æºæ©è½ãã使ããªãã¨ããã«åºåãå¯è½æ§ãªã©ããã£ãã®ã§ãã³ãã³ãããã³ããæä½ãæ®æ®µããå¤ç¨ãã¦ãã*1ãååãªã©ã¯ãç§ãGUIã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}