Linux Shell使用记录

查看默认用的SHELL

主要可能是bash和csh(tcsh是csh的增强版)
echo $SHELL

查看当前系统可用的shell

cat /etc/shells

bash支持

默认配置~/.bashrc

变量的定义

VAR=X
AVAR=(X1 X2)

环境变量的定义

export VAR=X或
VAR=X
export VAR

命令搜索路径的定义

PATH=/bin:/usr/bin

命令hash的更新

不需要

csh支持

默认配置~/.cshrc

变量的定义

set VAR = X
set AVAR = (X1 X2)
set var_a = whoami
set var_path = ~/env/env_dir
变量使用时为${VAR}

带cat/grep/awk的用法

set var1 = cat file | grep "^${head_var}[[:space:]]*,[[:space:]]*${middle_var}[[:space:]]*," |awk -F'\r' '{print $1}' | awk -F',' '{print $7}'
[[:space:]]匹配空格

环境变量的定义

unsetenv ENV_A
setenv ENV_A ~/env_path/env_path_dir

命令搜索路径的定义

set path=(/bin /usr/bin) 或
setenv PATH /bin:/usr/bin

命令hash的更新

rehash

其他

alias go_path ‘cd ~/env_path/env_path_dir’

source script.sh:在脚本运行结束后,脚本中的变量在当前环境仍会被保留。
sh script.sh:在当前环境启动一个子进程运行脚本, 脚本中的变量会在脚本运行结束时释放掉。
source里可以cd,而sh a.sh里执行cd无效

source setup param_a param_b
in setup file, ${#argv} = 2, $argv[1] = param_a, $argv[2] = param_b

if(hostname == “server-a” || hostname == “server-b”) then
else if(hostname == “server-c” || hostname == “server-d”) then
endif

echo “”

你可能感兴趣的:(工具类)