-bash-3.2#怎么办?

系统登录后变成了这样,这样看着可不好看,其实是个小问题:

原创博文来自:www.51niux.com  博主:忙碌的柴少

下面是造成这种问题的原因:

我们平时在linux下切换用户后命令行为什么会变成-bash-3.2$呢,我们来分析一下,这就是跟linux的机制有关联了,因为在linux下每 次通过useradd创建新的用户时,都会将所有的配置文件从/etc/skel复制到新用户的主目录下,一般默认在home下面的新用户主目录,而关于 /etc/skel这个目录,是主要被useradd所用到。所以命令行会变成-bash-3.2$主要原因可能是用户主目录下的配置文件丢失

下面是解决办法:

1.第一种办法是临时性的:

输入csh或者bash

2.第二种办法就是永久的了:

将/etc/skel/下面的隐藏文件统统复制到你的家目录下面,以root家目录为例:

cp -a /etc/skel/. /root/

这是个小问题,觉得挺有意思就记录了一下。

原创博文来自:www.51niux.com  博主:忙碌的柴少

时间: 2024-11-07 09:01:33

-bash-3.2#怎么办?的相关文章

Linux Bash 提示符的一些骚操作

当你在 Linux 环境下打开一个 Shell 终端时,会看到命令行中出现了类似下面的一个 Bash 提示符:[[email protected]$host ~]$你知道命令行提示符其实是可以自己设置添加许多非常有用的信息的吗?在这篇文章中我就会教你如何自定义自己的 Bash 命令行提示符,想看的话就接着看吧~ 如何设置 Bash 提示符 Bash 提示符是通过环境变量 PS1 (提示符字符串 1Prompt String 1) 来设置的,它用于交互式 shell 提示符.当然如果你需要更多的输

Bash脚本之函数定义和调用

把那些在脚本中重复出现并且没有任何改变的代码,封装起来,在适当的场景中调用执行.程序员将这种被封装起来的代码称为功能体,或者叫模块,也称为函数.这样看来是不是和循环类似,循环也是为了方便去多次执行一堆代码,而函数是将一堆代码写在一起,起一个名字,然后在需要这堆代码的时候只需要写上函数的名字即可.在shell脚本编程中,函数是由若干条shell命令组成的语句块,函数里面的内容和shell程序形式上是一致的.不同之处就是,shell代码可以直接被执行,而函数中的内容,不能独立执行,只有被调用的时候才

Bash 的若干基本问题

Bash 的若干基本问题 这里介绍一些bash启动前.后的问题,以及一些使用bash需要注意的基本问题. 1.Bash的介绍 Bash是一种Shell程序,它是一般的Linux系统中的默认的Shell程序,一般情况下Bash指的是/bin/bash这个软件. 一个Linux系统中有多少个可用的Shell程序,可以从/etc/shells文件中查出来. 当前登录用户的默认Shell是哪一个,可以从/etc/passwd文件中与此用户对应的那一行最后一个字段看出来.或者也可以通过echo $SHEL

bash

bash编程 if 条件判断; then fi if 条件判断; then 内容 else 内容 fi

004-用户、组、权限管理命令及bash配置文件、管道、重定向、grep

l  1.用户管理命令 1.)创建用户命令 useradd  [OPTIONS] USERNAME -u(UID):指定用户UID -g(GID):指定基本组 -G( group,...):指定附加组 -c"COMMENT":指定注释信息 -d(home_dir):指定家目录/path/to/directory -s:指定SHELL路径(/etc/shells指定了当前系统可用的安全shell) -m –k:强行为用户创建家目录 -M:不创建用户家目录 /etc/login.defs

bash编程

变量:命名内存空间 变量类型:事先确定数据的存储格式和长度 字符 数值 1.整型 2.浮点型 日期时间 布尔型 算数运算 逻辑运算:与.或.非.异或 shell:弱类型编程语言 强:变量在使用前必须声明,甚至要初始化变量.数字型初始化为0,字符型初始化为空NULL 弱:变量用时声明,甚至不区分类型,默认是字符串. 变量赋值:VAR_NAME=VALUE bash变量类型 环境变量 本地变量(局部变量):与bash进程关联的变量 位置变量 特殊变量(系统变量):linux内置,用于保存特殊数据的变

bash 数组参数的传递

一.方式一 把数组参数当做普通变量传递 #!/bin/bash function arrayfun { echo "get function parameter $*" } arraypara=(claire obama george) arrayfun $arraypara 上面脚最终会显示 get function parameter claire 只收到了数组中的第1个参数 二.方式二 我们改动一下 #!/bin/bash function arrayfun { echo &qu

bash简单for循环2

写一个脚本:输入三个参数 0,1,2,3之一输入3:计算100以内所有能被3整除的正整数的和:输入2:计算100以内所有所有偶数的和:输入1:计算100以内所有所有奇数的和:输入0:计算100以内所有所有整数的和: 代码 #!/bin/bash # declare -i SUM=0 if [ $1 == 3 ];then   for I in {1..100};do     if [ $[$I%3] -eq 0 ];then       SUM=$[$SUM+$I]     fi   done

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(2)

三.命令历史bash从Korn Shell和C Shell中吸收了很多的精华,其中之一正式为已经执行过的命令保存一个缓存副本的特性,我们称之为"命令历史"功能.我们为什么要使用命令历史功能呢?每个用户登录成功之后,尤其是使用bash这样的文件接口登录之后,所有的操作都是由执行命令来实现的,那么就不可避免的会出现重复执行某个命令的情况,如果每个命令都依靠键入的方式来输入的话,固然没有问题,但是效率不高而且也是浪费时间的"可耻"行为,命令历史刚好给我们提供了解决这种问题

bash嵌套expect实现交换机的交互式登录实例

1. expect实现参数传递 1.1 实现 $argv 参数数组 expect脚本可以接受从bash传递过来的参数. 可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数 1.2 样例 cat telnet.exp #!/usr/bin/expect set host [lindex $argv 0] set passwd [lindex $argv 1] set passwden [lindex $argv 2] spawn telnet $h