path: root/system/csh/README_Slackware.txt
diff options
author B. Watson <>2014-04-27 10:18:18 -0500
committer Erik Hanson <>2014-04-27 12:15:43 -0500
commita8f4e457f484a80469cbcc3f47760f3a6c51c589 (patch)
treed671300904f666e8927e9d9059b4257468540c90 /system/csh/README_Slackware.txt
parent9db9d22c508fdc1a15d638d406025755c756f515 (diff)
system/csh: Added (C shell from BSD)
Signed-off-by: Erik Hanson <>
Diffstat (limited to 'system/csh/README_Slackware.txt')
1 files changed, 79 insertions, 0 deletions
diff --git a/system/csh/README_Slackware.txt b/system/csh/README_Slackware.txt
new file mode 100644
index 0000000000..e3ebbcd0dc
--- /dev/null
+++ b/system/csh/README_Slackware.txt
@@ -0,0 +1,79 @@
+Notes for using csh package:
+This csh build conflicts slightly with Slackware's tcsh package. The
+easiest way to use this is to "removepkg tcsh" before installing csh. If
+you want to do this, you can skip the next section.
+Installing csh and tcsh together
+It's possible for csh to coexist with tcsh, with a few caveats:
+The shell is installed as /usr/bin/csh to avoid conflicting with
+Slackware's own tcsh package (which makes /bin/csh a symlink to tcsh). If
+you want to make /bin/csh point to the real csh, you have two choices:
+1. remove the /bin/csh symlink before installing the csh package:
+ # rm -f /bin/csh
+ The /bin/csh symlink will get created when csh is installed.
+2. adjust the symlink manually after csh installation:
+ # rm -f /bin/csh
+ # ln -s ../usr/bin/csh /bin/csh
+ This works the same way as e.g. the /usr/bin/vi symlink, which points
+ to either elvis or vim.
+If you have both csh and Slackware's tcsh installed, and you remove csh,
+you'll want to reinstall tcsh to clean up afterwards.
+Removing tcsh while csh is installed should be perfectly OK.
+Installing/upgrading tcsh when csh is already installed is probably a
+bad idea. Remove csh first, install tcsh, then install csh.
+As far as I know, nothing in Slackware depends on tcsh, so if you
+mess things up, you won't break your OS. You can always put things
+back to Slackware's default state by removing both csh and tsch, then
+reinstalling tcsh.
+Using csh as a login shell
+If you want to use csh as a login shell, be aware that Slackware's
+shipped /etc/csh.login (from the etc package) contains tcsh-specific
+code, which prevents the /etc/profile.d/*.csh scripts from running. This
+won't prevent you from logging in, but your environment won't be set up
+correctly, you'll see "[: No match." errors, and your prompt won't show
+your username, hostname, current directory as tsch does.
+To fix this, you can replace /etc/csh.login with the /etc/
+installed with the csh package. It behaves the same as the original,
+for tcsh, and has conditional code to make csh behave correctly.
+ # cp /etc/csh.login /etc/csh.login.orig # back up original just in case
+ # mv /etc/ /etc/csh.login
+If you don't want to replace Slackware's csh.login, just rm
+/etc/ and forget about it.
+Other notes
+You should read the man page for csh. Also
+/usr/doc/csh-$VERSION/paper.(txt|pdf) is a good intro to the C shell for
+beginning users. Also, if you're an experienced tcsh user, you might
+re-read the NEW FEATURES section in tcsh's man page (it describes the
+tcsh features you won't find in csh).
+NEVER make csh the default shell for the root account! In fact, it's
+probably a bad idea to ever change root's default shell on any Linux or
+UNIX system, especially a third-party one that isn't shipped with the OS.
+The man page for csh states that "Words can be no longer than 1024
+characters", but this build of csh increases the limit to 8192 (actually,
+BUFSIZ as defined in stdio.h). This was done so Slackware's profile.d
+scripts will work correctly (particularly