shell script - deptno/deptno.github.io GitHub Wiki
set -e # error ๊ฐ ๋๋ฉด ์คํฌ๋ฆฝํธ ์๋ฌ์ ํจ๊ป ์ข
๋ฃ์ํจ๋ค
some error command || true # ํด๋น ์ปค๋งจ๋๋ ์๋ฌ์ง๋ง ๋ฌด์ํ ์ ์๋ค
function fx() {
local first=$1
local sencod=$2
echo $1
}
array_data=(
"a"
"b"
"c"
)
for item in "${array_data[@]}"
do
echo fx $item
done
for item in {1..5}
# ์ผํญ ์ฐ์ฐ์
TAG=$([ "$NS" = "production" ] && echo "latest" || echo "dev")
๋ฌธ์์ด ์์์ ๋ณ์๋ฅผ ์ฐธ์กฐํ ๋ ๋ฌธ์์ด์ ํ ๋ฐ์ดํ๊ฐ ์๋ ์๋ฐ์ดํ์ฌ์ผ ํ๋ค
touch script.sh
chmod +x script.sh
cat <<EOF > script.sh
echo $1
echo "helll $1"
EOF
$ script.sh arg1
arg1
arg1
#!/usr/bin/env bash
VAR=${1:-default_value}
VAR=${1:+laternative_value}
VAR=${1:?error messaage if not set}
์ด์ธ์ :-
์ ๋น์ทํ :=
๊ฐ ์๋ค.
๋ณ์๊ฐ ๋์ default ๊ฐ์ ์ ๊ณตํ๋ ๊ฒ์ ๋์ผํ์ง๋ง ๋ณ์ ํ ๋น๋ ๋์์ ์ด๋ฃจ์ด์ง๋ค
VAR=
echo "${VAR:-default_value}" # default_value
echo $VAR #
echo "${VAR:=default_value}" # default_value
echo $VAR # default_value
VAR%%@*
VAR ๋ณ์๊ฐ ๋ค์์๋ถํฐ @
๋ฅผ ์ฐพ์๋๊น์ง ๋ฌธ์ ์ ๊ฑฐ
email="[email protected]"
username=${email%%@*}
echo "username: $username" # ์ถ๋ ฅ: username: a
if [ ! -z "$ENV_VAR"] # ํน์ [ -n "$ENV_VAR"]
then
echo $ENV_VAR
elif
echo "empty"
fi
- IFS | internal field separator
- ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ
for x in $MULTILINE_VALUE
ํํ์ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ๊ณต๋ฐฑ๋ง๋ค ๋ณ์x
์ ๋ค์ด๊ฐ๊ฒ๋๋ค - ์ด๋ ๋ผ์ธ์ ๊ตฌ๋ถ์๋ก ์ฐ๊ณ ์ถ๋ค๋ฉด
IFS=$'\n'
ํํ๋ก ์ ๋ ฅํด์ฃผ๋ฉด๋๋ค
- ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ
IFS=$'\n'
for script in $(cat shell_script_lines.sh); do
$script;
done;
if [ -n "$1" ]; then
NS=$1
fi
NS=${NS:="default-ns"}