"Bash"의 두 판 사이의 차이

ph
이동: 둘러보기, 검색
7번째 줄: 7번째 줄:
 
*[http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Guide for Beginners]
 
*[http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html Bash Guide for Beginners]
 
*[http://www.linuxconfig.org/Bash_scripting_Tutorial Bash scripting Tutorial]
 
*[http://www.linuxconfig.org/Bash_scripting_Tutorial Bash scripting Tutorial]
 +
{{break}}
  
 +
=={{c|getopt}}
 +
===multiple arguments with one flag ===
 +
깔끔한 방법이 없어보임. [http://stackoverflow.com/questions/7529856/bash-getopts-retrieving-multiple-variables-from-one-flag]
 +
-o a1 -o a2 -o a3
 +
이런식으로 계속 주는 수밖에 없는듯
 +
 +
===long options===
 +
use {{c|getopt}}(not {{c|getopts}}) [http://stackoverflow.com/a/402410/766330]
  
 +
===default option {{c|getopt}}===
 +
{{c|::}}
  
 
==bash expansion : ranges==
 
==bash expansion : ranges==
70번째 줄: 81번째 줄:
  
 
[http://stackoverflow.com/a/7045517/766330]
 
[http://stackoverflow.com/a/7045517/766330]
 
 
 
==multiple arguments with one flag ==
 
깔끔한 방법이 없어보임. [http://stackoverflow.com/questions/7529856/bash-getopts-retrieving-multiple-variables-from-one-flag]
 
-o a1 -o a2 -o a3
 
이런식으로 계속 주는 수밖에 없는듯
 
 
 
 
==long options==
 
use {{c|getopt}}(not {{c|getopts}}) [http://stackoverflow.com/a/402410/766330]
 
 
 
 
==default option {{c|getopt}}==
 
{{c|::}}
 
  
  

2017년 4월 10일 (월) 14:19 판

manual, refs




==getopt

multiple arguments with one flag

깔끔한 방법이 없어보임. [1]

-o a1 -o a2 -o a3

이런식으로 계속 주는 수밖에 없는듯

long options

use getopt(not getopts) [2]

default option getopt

::

bash expansion : ranges

$ echo {d..h}
d e f g h

$ echo {d..Z}
d c b a _ ^ ]  [ Z

For more information, refer wiki.bash-hackers.org.


redirection

### cp file1 file2와 같다
$ cat < file1 > file2


string : $''

$ # Single quotation in single qoute
$ # http://stackoverflow.com/a/16605140/766330
$ echo \'sdlfkjsldf\' | sed $'s/\'//'
sdlfkjsldf'
$ #   $'string' : this is special.
$ #   below line won't work.
$ #   echo \'sdlfkjsldf\' | sed 's/\'//‘

[3]


or

$ # 'or' 
$ if [ -z "$1" ] || [ -z "$2" ]; then
>    echo "Usage: `basename $0` rslt_file target_folder"
> fi

ref. expressions used with if


extract tar archive from stdin

use - as the input file

cat largefile.tgz.aa largefile.tgz.ab | tar zxf -

[4]


find out what is using TCP port 80

# netstat -tulpn | grep :80

-p : You should be root

[5]


read from file or stdin

while read line 
do
  echo "$line"
done < "${1:-/dev/stdin}”

${1:-…} takes $1 if defined otherwise the file name of the standard input of the own process is used

[6]


no op

:

$ if true; then :; else echo; fi

[7]


Default .bashrc

/etc/skel/.bashrc

[8]


Tar the output on the fly

The same -f - option works for tarring as well.

tar -cf - something | tar -C somefolder -xvf -

GNU tar uses stdio by default:

tar -c something | tar -C somefolder -xv

[9]


a